1 // Copyright (c) 2005-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".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
23 #if !defined(SS_PROTBINDER_H_INCLUDED_)
24 #define SS_PROTBINDER_H_INCLUDED_
31 TUint iFeatures; /** Feature flags */
32 TInt iMtu; /** Maximum transmission unit. */
33 TInt iRMtu; /** Maximum transmission unit for receiving. */
34 TInt iSpeedMetric; /** approximation of the interface speed in Kbps. */
40 class TBinderConfig : public Meta::SMetaData
43 TUint iFamily; /** KAfInet / KAfInet6 - selects TBinderConfig4/6 */
45 template <class CONFIG>
46 static CONFIG* Cast(TBinderConfig& aConfig)
48 if(aConfig.GetTypeId().iType == CONFIG::ETypeId && aConfig.GetTypeId().iUid == TUid::Uid(CONFIG::EUid))
50 CONFIG* config = &static_cast<CONFIG&>(aConfig);
60 class TBinderConfig4 : public TBinderConfig
64 TInetAddr iAddress; /** Interface IP address. */
65 TInetAddr iNetMask; /** IP netmask. */
66 TInetAddr iBrdAddr; /** IP broadcast address. */
67 TInetAddr iDefGate; /** IP default gateway or peer address (if known). */
68 TInetAddr iNameSer1; /** IP primary name server (if any). */
69 TInetAddr iNameSer2; /** IP secondary name server (if any). */
78 EXPORT_DATA_VTABLE_AND_FN
81 class TBinderConfig6 : public TBinderConfig
98 EXPORT_DATA_VTABLE_AND_FN
101 #endif // SS_PROTBINDER_H_INCLUDED_