epoc32/include/cs_subconparams.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     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