diff -r 000000000000 -r 094583676ce7 presadap12/Parser2/Inc/CPEngSessionSlotId.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/presadap12/Parser2/Inc/CPEngSessionSlotId.h Thu Dec 17 08:41:52 2009 +0200 @@ -0,0 +1,181 @@ +/* +* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: NWSessionSlotID implementation. +* +*/ + +#ifndef __CPENGSESSIONSLOTID_H__ +#define __CPENGSESSIONSLOTID_H__ + +// INCLUDES +#include + + +// FORWARD DECLARATIONS +class RWriteStream; +class RReadStream; + + + +/** + * NWSessionSlotID implementation. + * + * @since 3.0 + */ +class CPEngSessionSlotId : public CBase + { + public: /* Construction */ + + + /** + * Instantiates CPEngSessionSlotId object. + * + * @return New CPEngSessionSlotId instance. + */ + IMPORT_C static CPEngSessionSlotId* NewL(); + IMPORT_C static CPEngSessionSlotId* NewLC(); + + /** + * Instantiates a new copy from + * CPEngSessionSlotId object. + * + * @return New CPEngSessionSlotId copy. + */ + IMPORT_C CPEngSessionSlotId* CloneL() const; + IMPORT_C CPEngSessionSlotId* CloneLC() const; + + /** + * Copies CPEngSessionSlotId contents from + * source object. + * + * @param CPEngSessionSlotId source. + */ + IMPORT_C void CopyL( const CPEngSessionSlotId& aSource ); + + + /** + * Reset. + */ + IMPORT_C void Reset(); + + + /** + * Destructor. + */ + ~CPEngSessionSlotId(); + + protected: + + /** + * C++ constructor. + */ + CPEngSessionSlotId(); + + + + public: // NWSessionSlotID implementation + + + /** + * Sets the NWSessionSlotID sub-part. + * + * @param aAddress Service address to use. + * @param aUserId User id to use. + * @param aAppId AppId to use. + */ + IMPORT_C void SetServiceAddressL( const TDesC& aAddress ); + IMPORT_C void SetUserIdL( const TDesC& aUserId ); + + /** + * Fragment access. + * + * @return Requested sub-part. + */ + IMPORT_C TPtrC ServiceAddress() const; + IMPORT_C TPtrC UserId() const; + + + + + public: // Match support + + /** + * Pattern-matches NWSessionSlotIDs. + * + * @param aIdToMatch The NWSessionSlotID to match. + * @return KErrNone if NWSessionSlotIDs match. + * Else KErrNotFound. + */ + IMPORT_C TInt Match( const CPEngSessionSlotId& aIdToMatch ) const; + + + + + public: // Serialized presentation + + /** + * Packs CPEngSessionSlotId state to buffer and + * returns buffer to caller. + * @return CPEngSessionSlotId state buffer. + */ + IMPORT_C HBufC8* PackLC() const; + + + /** + * Initializes CPEngSessionSlotId state from a package + * previously created with PackLC(). + * + * @param aPack CPEngSessionSlotId state package. + */ + IMPORT_C void UnPackL( const TDesC8& aPack ); + + + /** + * Externalizes the data. + * + * @param aStream Stream where to write. + */ + IMPORT_C void ExternalizeL( RWriteStream& aStream ) const; + + + /** + * Internalizes the data. + * + * @param aStream Stream where to read from. + */ + IMPORT_C void InternalizeL( RReadStream& aStream ); + + + /** + * Returns size of the buffer needed for the streaming + * + * @since 3.0 + * @return size of the buffer in bytes + */ + IMPORT_C TInt Size() const; + + + private: //Data + + //OWN: NWSessionSlotID service address sub-part + HBufC* iServiceAddress; + + //OWN: NWSessionSlotID user id sub-part + HBufC* iUserId; + + }; + +#endif //__CPENGSESSIONSLOTID_H__ + +// End of File