Example code showing how TAutoClose can be used to clean up when an object goes out of scope.
A simple example shows how this class can be used.
TInt ReadFile(const TDesC& aFile) // // Read a file // { TAutoClose<RFile> file; TInt r=file.iObj.Open(aFile,KFileStreamText|EFileExclusive); if (r!=KErrNone) return(r); TBuf<100> b; if ((r=file.iObj.Read(b))!=KErrNone) return(r); ... }
The object file goes out of scope when the function completes, and the compiler automatically destroys it, calling the TAutoClose destructor in the process. The destructor calls Close() on the RFile member of TAutoClose.