williamr@2: // Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: // All rights reserved. williamr@2: // This component and the accompanying materials are made available williamr@4: // under the terms of "Eclipse Public License v1.0" williamr@2: // which accompanies this distribution, and is available williamr@4: // at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@2: // williamr@2: // Initial Contributors: williamr@2: // Nokia Corporation - initial contribution. williamr@2: // williamr@2: // Contributors: williamr@2: // williamr@2: // Description: williamr@2: // williamr@2: williamr@4: williamr@4: /** williamr@4: @file williamr@4: @publishedAll williamr@4: @released williamr@4: */ williamr@4: williamr@2: #if !defined (__ES_ENUM_H__) williamr@2: #define __ES_ENUM_H__ williamr@2: williamr@2: #include williamr@2: #include williamr@2: #include williamr@2: williamr@4: williamr@2: class TConnArgBase williamr@2: /** williamr@2: * Base class for many arguments to RConnection functions. Provides versioning information. williamr@2: * @note Not intended for user instantiation williamr@2: * @publishedAll williamr@2: * @released since v7.0s williamr@2: */ williamr@2: { williamr@2: public: williamr@2: inline TConnArgBase(); williamr@4: inline TConnArgBase(const TDesC8& aConnectionInfo) williamr@4: : iVersion(*((TUint8*)aConnectionInfo.Ptr())) williamr@4: { williamr@4: } williamr@2: inline TUint8 Version() const; williamr@2: williamr@2: protected: williamr@2: inline TConnArgBase(TUint8 aVersion); williamr@2: williamr@2: protected: williamr@2: TUint8 iVersion; williamr@2: TUint8 iReserved[3]; williamr@2: }; williamr@2: williamr@2: /** williamr@2: * Versioning information for connection arguments williamr@2: * @publishedAll williamr@2: * @released since v7.0s williamr@2: */ williamr@2: const TUint8 KConnArgVersion1 = 1; williamr@2: williamr@2: /** williamr@2: Versioning information for connection arguments williamr@2: williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: const TUint8 KConnArgVersion2 = 2; williamr@2: williamr@2: class TConnectionInfo : public TConnArgBase williamr@2: /** williamr@2: @publishedAll williamr@2: @released since v7.0s williamr@2: */ williamr@2: { williamr@2: public: williamr@2: inline TConnectionInfo(); williamr@4: TConnectionInfo(const TDesC8& aConnectionInfo /*as passed to ::Bearer*/); williamr@2: inline TConnectionInfo(TUint32 aIapId, TUint32 aNetId); williamr@2: williamr@2: static TBool IsLocalBearer(const TDesC8& aConnectionInfo); williamr@4: williamr@4: inline bool operator == (const TConnectionInfo& aRhs) const; williamr@4: williamr@2: protected: williamr@2: inline TConnectionInfo(TUint8 aVersion, TUint32 aIapId, TUint32 aNetId); williamr@2: williamr@2: public: williamr@2: TUint32 iIapId; williamr@2: TUint32 iNetId; williamr@2: }; williamr@2: williamr@4: const TUint8 KConnArgVersion3 = 3; williamr@4: williamr@4: williamr@2: /** williamr@2: @publishedAll williamr@2: @released since v7.0s williamr@2: */ williamr@2: typedef TPckgBuf TConnectionInfoBuf; williamr@2: williamr@2: williamr@2: williamr@2: williamr@2: /** williamr@2: The following classes are used with RConnection::AllInterfaceNotification() to receive information williamr@2: about interfaces coming up and going down. williamr@2: */ williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @released since v7.0s williamr@2: */ williamr@2: enum TConnInterfaceState williamr@2: { williamr@2: EInterfaceUp, williamr@2: EInterfaceDown williamr@2: }; williamr@2: williamr@2: class TInterfaceNotification williamr@2: /** williamr@2: @publishedAll williamr@2: @released since v7.0s williamr@2: */ williamr@2: { williamr@2: public: williamr@2: TConnectionInfo iConnectionInfo; williamr@2: TConnInterfaceState iState; williamr@2: }; williamr@2: williamr@2: williamr@2: /** williamr@2: Types of events that can occur on a subconnection williamr@2: williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: enum TSubConnectionEventType williamr@2: /** williamr@2: * Types of events that can occur on a subconnection williamr@2: * @publishedPartner williamr@2: * @released since v7.0s williamr@2: */ williamr@2: { williamr@4: ESubConnectionOpened, //< Connection values 0-9999 for agent-based events williamr@4: ESubConnectionClosed, //< Connection values 0-9999 for agent-based events williamr@4: ESubConnectionQoSChanged = 1000 //< Connection values 10000-19999 for nif-based events williamr@2: }; williamr@2: williamr@4: #ifndef SYMBIAN_ENABLE_SPLIT_HEADERS williamr@4: #include williamr@4: #include williamr@4: #endif williamr@2: williamr@2: #include williamr@2: williamr@4: williamr@2: #endif // __ES_ENUM_H__ williamr@4: