--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/datacommsserver/esockserver/inc/es_protbinder.h Thu Dec 17 09:22:25 2009 +0200
@@ -0,0 +1,102 @@
+// Copyright (c) 2005-2009 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:
+// SS_PROTBINDER.H
+//
+//
+
+/**
+ @file
+ @publishedPartner
+*/
+
+#if !defined(SS_PROTBINDER_H_INCLUDED_)
+#define SS_PROTBINDER_H_INCLUDED_
+
+#include <es_sock.h>
+#include <in_sock.h>
+
+struct TBinderInfo
+ {
+ TUint iFeatures; /** Feature flags */
+ TInt iMtu; /** Maximum transmission unit. */
+ TInt iRMtu; /** Maximum transmission unit for receiving. */
+ TInt iSpeedMetric; /** approximation of the interface speed in Kbps. */
+ private:
+ TInt iReserved1;
+ TInt iReserved2;
+ };
+
+class TBinderConfig : public Meta::SMetaData
+ {
+public:
+ TUint iFamily; /** KAfInet / KAfInet6 - selects TBinderConfig4/6 */
+
+ template <class CONFIG>
+ static CONFIG* Cast(TBinderConfig& aConfig)
+ {
+ if(aConfig.GetTypeId().iType == CONFIG::ETypeId && aConfig.GetTypeId().iUid == TUid::Uid(CONFIG::EUid))
+ {
+ CONFIG* config = &static_cast<CONFIG&>(aConfig);
+ return config;
+ }
+ else
+ {
+ return NULL;
+ }
+ }
+ };
+
+class TBinderConfig4 : public TBinderConfig
+ {
+public:
+ TBinderInfo iInfo;
+ TInetAddr iAddress; /** Interface IP address. */
+ TInetAddr iNetMask; /** IP netmask. */
+ TInetAddr iBrdAddr; /** IP broadcast address. */
+ TInetAddr iDefGate; /** IP default gateway or peer address (if known). */
+ TInetAddr iNameSer1; /** IP primary name server (if any). */
+ TInetAddr iNameSer2; /** IP secondary name server (if any). */
+
+ enum
+ {
+ EUid = 0x101F7482,
+ ETypeId = 1,
+ };
+
+public:
+ EXPORT_DATA_VTABLE_AND_FN
+ };
+
+class TBinderConfig6 : public TBinderConfig
+ {
+public:
+ TBinderInfo iInfo;
+ TSockAddr iLocalId;
+ TSockAddr iRemoteId;
+ TInetAddr iNameSer1;
+ TInetAddr iNameSer2;
+
+
+ enum
+ {
+ EUid = 0x101F7482,
+ ETypeId = 2,
+ };
+
+public:
+ EXPORT_DATA_VTABLE_AND_FN
+ };
+
+#endif // SS_PROTBINDER_H_INCLUDED_
+