diff -r 666f914201fb -r 2fe1408b6811 epoc32/include/comms-infras/trbuf.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/epoc32/include/comms-infras/trbuf.h Tue Mar 16 16:12:26 2010 +0000 @@ -0,0 +1,111 @@ +// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members +// which accompanies this distribution, and is available +// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// + + + +/** + @file + @internalTechnology +*/ + +#if (!defined TRBUF_H) +#define TRBUF_H + +#include +#include + +namespace Elements +{ + +class TRBuf8 : public RBuf8 +/** + class to provide a RBuf8 destructor +*/ + { + public: + static TRBuf8* New(TInt aMaxLength) + { + TRBuf8* self = new TRBuf8; + if (self!=NULL) + { + if (self->Create(aMaxLength)!=KErrNone) + { + delete self; + self = NULL; + } + } + return self; + } + + static TRBuf8* NewL(TInt aMaxLength) + { + TRBuf8* self = new (ELeave) TRBuf8; + CleanupStack::PushL(self); + self->CreateL(aMaxLength); + CleanupStack::Pop(self); + return self; + } + + ~TRBuf8() + { + Close(); + } + }; + +class TRBuf16 : public RBuf16 +/** + class to provide a RBuf16 destructor +*/ + { + public: + static TRBuf16* New(TInt aMaxLength) + { + TRBuf16* self = new TRBuf16; + if (self!=NULL) + { + if (self->Create(aMaxLength)!=KErrNone) + { + delete self; + self = NULL; + } + } + return self; + } + + static TRBuf16* NewL(TInt aMaxLength) + { + TRBuf16* self = new (ELeave) TRBuf16; + CleanupStack::PushL(self); + self->CreateL(aMaxLength); + CleanupStack::Pop(self); + return self; + } + + ~TRBuf16() + { + Close(); + } + }; + +#if defined(_UNICODE) +typedef TRBuf16 TRBuf; +#else +typedef TRBuf8 TRBuf; +#endif + +} //namespace Elements + + +#endif //TRBUF_H