datacommsserver/esockserver/subcon_params/inc/cs_subconparams.h
changeset 0 dfb7c4ff071f
equal deleted inserted replaced
-1:000000000000 0:dfb7c4ff071f
       
     1 // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 // Header file for the Automated Test Tool
       
    15 // 
       
    16 //
       
    17 
       
    18 /**
       
    19  @file 
       
    20  @publishedAll
       
    21  @released
       
    22 */
       
    23 
       
    24 #ifndef __CS_SUBCONPARAMS_H__
       
    25 #define __CS_SUBCONPARAMS_H__
       
    26 
       
    27 #include <e32base.h>
       
    28 #include <e32std.h>
       
    29 #include <comms-infras/metadata.h>
       
    30 #include <comms-infras/metatype.h>
       
    31 #include <comms-infras/es_parameterfamily.h>
       
    32 
       
    33 #include <es_sock.h>
       
    34 
       
    35 //Parameter Types are defined here and enums defined locally in the class
       
    36 const TInt32 KSubConnQosGenericParamsType = 1;
       
    37 const TInt32 KSubConnAuthorisationGenericParamsType = 2;
       
    38 const TInt32 KFlowRequestParametersType = 3;
       
    39 const TInt32 KSubConnProtocolGenericParamsType = 4;
       
    40 
       
    41 using Meta::SMetaDataECom;
       
    42 
       
    43 class CSubConQosGenericParamSet : public CSubConGenericParameterSet
       
    44 /** Qos generic parameter set.
       
    45 
       
    46 This class contains a collection of generic QoS family parameters i.e, independent of any technology
       
    47 and provides the interface to access them.
       
    48 
       
    49 The following operations are also provided:
       
    50 
       
    51 GetDownlinkBandwidth()/SetDownlinkBandwidth() - Accessor function for downlink bandwidth value.
       
    52 GetUplinkBandwidth()/SetUplinkBandwidth() - Accessor function for uplink bandwidth value.
       
    53 GetDownLinkMaximumBurstSize()/SetDownLinkMaximumBurstSize() - Accessor function for maximum size of downlink burst of data the client can handle.
       
    54 GetUpLinkMaximumBurstSize()/SetUpLinkMaximumBurstSize() - Accessor function for maximum size of uplink burst of data the client can handle.
       
    55 GetDownLinkAveragePacketSize()/SetDownLinkAveragePacketSize() - Accessor function for downlink average packet size data.
       
    56 GetUpLinkAveragePacketSize()/SetUpLinkAveragePacketSize() - Accessor function for uplink average packet size data.
       
    57 GetDownLinkMaximumPacketSize()/SetDownLinkMaximumPacketSize() - Accessor function for downlink maximum packet size data.
       
    58 GetUpLinkMaximumPacketSize()/SetUpLinkMaximumPacketSize() - Accessor function for uplink maximum packet size data.
       
    59 GetDownLinkDelay()/SetDownLinkDelay() - Accessor function for acceptable downlink delay/latency value.
       
    60 GetUpLinkDelay()/SetUpLinkDelay() - Accessor function for acceptable uplink delay/latency value.
       
    61 GetDownLinkDelayVariation()/SetDownLinkDelayVariation() - Accessor function for acceptable downlink variation in delay.
       
    62 GetUpLinkDelayVariation()/SetUpLinkDelayVariation() - Accessor function for acceptable uplink variation in delay.
       
    63 GetDownLinkPriority()/SetDownLinkPriority() - Accessor function for downlink priority
       
    64 GetUpLinkPriority()/SetUpLinkPriority() - Accessor function for uplink priority
       
    65 GetHeaderMode()/SetHeaderMode() - Accessor function for header mode (Specify whether the header size should be calculated by the QoS module or specified by the client)
       
    66 GetName()/SetName() - Accessor function for QoS Parameters name.
       
    67 
       
    68 @note SMetaDataECom must be the first in the superclasses' list
       
    69 @publishedAll
       
    70 @released since v9.1 */
       
    71 {
       
    72 public:
       
    73 	enum
       
    74 		{
       
    75 		EUid=KSubConnGenericParamsImplUid,
       
    76 		EType=KSubConnQosGenericParamsType
       
    77 		};
       
    78 
       
    79 	inline static CSubConQosGenericParamSet* NewL(CSubConParameterFamily& aFamily, CSubConParameterFamily::TParameterSetType aType);
       
    80 	inline static CSubConQosGenericParamSet* NewL(RParameterFamily& aFamily, RParameterFamily::TParameterSetType aType);
       
    81 	inline static CSubConQosGenericParamSet* NewL();
       
    82 
       
    83 	inline CSubConQosGenericParamSet();
       
    84 
       
    85 	inline TInt GetDownlinkBandwidth() const;
       
    86 	inline TInt GetUplinkBandwidth() const;
       
    87 	inline TInt GetDownLinkMaximumBurstSize() const;
       
    88 	inline TInt GetUpLinkMaximumBurstSize() const;
       
    89 	inline TInt GetDownLinkAveragePacketSize() const;
       
    90 	inline TInt GetUpLinkAveragePacketSize() const;
       
    91 	inline TInt GetDownLinkMaximumPacketSize() const;
       
    92 	inline TInt GetUpLinkMaximumPacketSize() const;
       
    93 	inline TInt GetDownLinkDelay() const;
       
    94 	inline TInt GetUpLinkDelay() const;
       
    95 	inline TInt GetDownLinkDelayVariation() const;
       
    96 	inline TInt GetUpLinkDelayVariation() const;
       
    97 	inline TInt GetDownLinkPriority() const;
       
    98 	inline TInt GetUpLinkPriority() const;
       
    99 	inline TBool GetHeaderMode() const;
       
   100 	inline const TName& GetName() const;
       
   101 
       
   102 	inline void SetDownlinkBandwidth(TInt);
       
   103 	inline void SetUplinkBandwidth(TInt);
       
   104 	inline void SetDownLinkMaximumBurstSize(TInt);
       
   105 	inline void SetUpLinkMaximumBurstSize(TInt);
       
   106 	inline void SetDownLinkAveragePacketSize(TInt);
       
   107 	inline void SetUpLinkAveragePacketSize(TInt);
       
   108 	inline void SetDownLinkMaximumPacketSize(TInt);
       
   109 	inline void SetUpLinkMaximumPacketSize(TInt);
       
   110 	inline void SetDownLinkDelay(TInt);
       
   111 	inline void SetUpLinkDelay(TInt);
       
   112 	inline void SetDownLinkDelayVariation(TInt);
       
   113 	inline void SetUpLinkDelayVariation(TInt);
       
   114 	inline void SetDownLinkPriority(TInt);
       
   115 	inline void SetUpLinkPriority(TInt);
       
   116 	inline void SetHeaderMode(TBool);
       
   117 	inline void SetName(const TName&);
       
   118 
       
   119 protected:
       
   120 
       
   121 	DATA_VTABLE
       
   122 
       
   123 	TInt iDownlinkBandwidth;
       
   124 	TInt iUplinkBandwidth;
       
   125 	TInt iDownLinkMaximumBurstSize;
       
   126 	TInt iUpLinkMaximumBurstSize;
       
   127 	TInt iDownLinkAveragePacketSize;
       
   128 	TInt iUpLinkAveragePacketSize;
       
   129 	TInt iDownLinkMaximumPacketSize;
       
   130 	TInt iUpLinkMaximumPacketSize;
       
   131 	TInt iDownLinkDelay;
       
   132 	TInt iUpLinkDelay;
       
   133 	TInt iDownLinkDelayVariation;
       
   134 	TInt iUpLinkDelayVariation;
       
   135 	TInt iDownLinkPriority;
       
   136 	TInt iUpLinkPriority;
       
   137 	TBool iHeaderMode;
       
   138 	TName iName;
       
   139 	};
       
   140 
       
   141 class CSubConAuthorisationGenericParamSet : public CSubConGenericParameterSet
       
   142 /** Authorisation generic parameter set.
       
   143 
       
   144 This class contains authorization generic parameters.
       
   145 
       
   146 @note SMetaDataECom must be the first in the superclasses' list
       
   147 @publishedAll
       
   148 @released since v9.1 */
       
   149 {
       
   150 public:
       
   151 	enum
       
   152 		{
       
   153 		EUid=KSubConnGenericParamsImplUid,
       
   154 		EType=KSubConnAuthorisationGenericParamsType
       
   155 		};
       
   156 
       
   157 	inline static CSubConAuthorisationGenericParamSet* NewL(CSubConParameterFamily& aFamily, CSubConParameterFamily::TParameterSetType aType);
       
   158 	inline static CSubConAuthorisationGenericParamSet* NewL(RParameterFamily& aFamily, RParameterFamily::TParameterSetType aType);
       
   159 	inline static CSubConAuthorisationGenericParamSet* NewL();
       
   160 
       
   161 	inline CSubConAuthorisationGenericParamSet();
       
   162 
       
   163 	inline TInt GetId() const;
       
   164 
       
   165 	inline void SetId(TInt);
       
   166 
       
   167 protected:
       
   168 
       
   169 	DATA_VTABLE
       
   170 
       
   171 	TInt iId;
       
   172 	};
       
   173 
       
   174 
       
   175 #include <cs_subconparams.inl>
       
   176 
       
   177 #endif	// __CS_SUBCONPARAMS_H__
       
   178