presadap12/Parser2/Inc/CPEngSessionSlotId.h
changeset 0 094583676ce7
--- /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 <E32Base.h>
+
+
+// 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