iptel_plat/cch_client_api/inc/cchclientserver.h
branchRCL_3
changeset 22 d38647835c2e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/iptel_plat/cch_client_api/inc/cchclientserver.h	Wed Sep 01 12:29:57 2010 +0100
@@ -0,0 +1,210 @@
+/*
+* Copyright (c) 2006-2007 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:  CCH Client / Server common interface header
+*
+*/
+
+
+
+#ifndef T_CCHCLIENTSERVER_H
+#define T_CCHCLIENTSERVER_H
+
+// INCLUDES
+#include <e32base.h>
+#include <ccherror.h>
+#include <cchtypes.h>
+// CONSTANTS
+const TUint KCCHMaxServiceNameLength  = 64; 
+const TUint KCCHMaxSubservicesCount   = 4;
+const TUint KCCHMaxProtocolNameLength = 512; 
+const TUint KCCHMaxUsernameLength = 128;
+const TUint KCCHMaxPasswordLength = 64;
+  
+  
+// CLASS DECLARATION
+class TServiceSelection
+    {
+public:
+    inline TServiceSelection();
+    inline TServiceSelection( TUint aServiceId, 
+                      TCCHSubserviceType aType,
+                      TCchConnectionParameter aParameter = ECchInitial );
+public:
+    /**
+     * Service Id
+     */
+    TUint                   iServiceId;
+    /**
+     * Subservice's type
+     */
+    TCCHSubserviceType      iType;
+    /**
+     * Identifies operation target for get/set.
+     */
+    TCchConnectionParameter iParameter;
+    };
+    
+class TServiceConnectionInfo
+    {
+public:
+    inline TServiceConnectionInfo();
+    inline TServiceConnectionInfo( TUint aServiceId, 
+                                   TCCHSubserviceType aType, 
+                                   TUint32 aIapId, 
+                                   TUint32 aSNAPId );
+
+    inline TServiceConnectionInfo( TUint aServiceId, 
+                                   TCCHSubserviceType aType, 
+                                   TUint32 aIapId, 
+                                   TUint32 aSNAPId,
+                                   TDesC& aUsername,
+                                   TDesC& aPassword );
+    inline TUint ServiceId() const;
+    inline TCCHSubserviceType Type() const;
+    inline void SetServiceId( TUint aServiceId );
+    inline void SetType( TCCHSubserviceType aType );
+    inline void SetParameter( TCchConnectionParameter aParameter );
+    
+public:    
+    /**
+     * Service Id
+     */
+    TServiceSelection       iServiceSelection;
+    /**
+     * Service's SNAP Id
+     */
+    TUint32                 iSNAPId;
+    /**
+     * Services IAP Id
+     */
+    TUint32                 iIapId;
+     /**
+     * Is SNAP editable, read only
+     */
+    TBool                   iSNAPLocked;
+    /**
+    * Is password set.
+    */
+    TBool                   iPasswordSet;
+
+    /**
+     * Username
+     */
+    TBuf<KCCHMaxUsernameLength> iUsername;
+
+    /**
+     * Password
+     */
+    TBuf<KCCHMaxPasswordLength> iPassword;
+    
+    /**
+    * Reserved, obsolote. When adding next new parameter (TInt)
+    * rename Reserved to that, implementation is ready then.
+    */
+    TBool                   iReserved;
+    
+    };
+
+class TServiceStatus
+    {
+public:
+    inline TServiceStatus();
+    inline TUint ServiceId() const;
+    inline TCCHSubserviceType Type() const;
+    inline TUint32 IapId() const;
+    inline TUint32 SNAPId() const;
+    inline TBool SNAPLocked() const;
+    inline TBool PasswordSet() const;
+    inline void SetServiceId( TUint aServiceId );
+    inline void SetType( TCCHSubserviceType aType );
+    inline void SetIapId( TUint32 aIapId );
+    inline void SetSNAPId( TUint32 aSNAPId );
+    inline void SetSNAPLocked( TBool aSNAPLocked );
+public:
+    /**
+     * Service Id
+     */
+    TServiceConnectionInfo  iConnectionInfo;
+    /**
+     * Current state of subservice
+     */
+    TCCHSubserviceState     iState;
+    /**
+     * Current error code of subservice
+     */
+    TInt                    iError;
+    };
+
+class TCCHSubservice
+    {
+public:
+    inline TCCHSubservice();
+    inline TUint ServiceId() const;
+    inline TCCHSubserviceType Type() const;
+    inline TUint32 IapId() const;
+    inline TUint32 SNAPId() const;
+    inline TBool SNAPLocked() const;
+    inline void SetServiceId( TUint aServiceId );
+    inline void SetType( TCCHSubserviceType aType );
+    inline void SetIapId( TUint32 aIapId );
+    inline void SetSNAPId( TUint32 aSNAPId );
+    inline void SetSNAPLocked( TBool aSNAPLocked );
+public:
+    /**
+     * Service Id
+     */
+    TServiceConnectionInfo          iConnectionInfo;
+    /**
+     * Subservice's Id
+     */
+    TUint                           iSubserviceId;
+    /**
+     * Current state of subservice
+     */
+    TCCHSubserviceState             iState;
+    /**
+     * Subservice's name
+     */
+    TBuf<KCCHMaxServiceNameLength>  iSubserviceName;
+    /**
+     * Current error code of subservice
+     */
+    TInt                            iError;
+    };
+
+class TCCHService
+    {
+public:
+    inline TCCHService();
+
+public:
+    /**
+     * Service Id
+     */
+    TUint                                   iServiceId;
+    /**
+     * Service's name
+     */
+    TBuf<KCCHMaxServiceNameLength>          iServiceName;
+    /**
+     * Service's subservices
+     */
+    TFixedArray<TCCHSubservice, KCCHMaxSubservicesCount>    iSubservices;
+    };
+
+#include "cchclientserver.inl"
+
+#endif // T_CCHCLIENTSERVER_H
+
+// End of File