diff -r 4096754ee773 -r 52a167391590 localconnectivityservice/obexserviceman/obexservicemanserver/inc/SrcsTransport.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/localconnectivityservice/obexserviceman/obexservicemanserver/inc/SrcsTransport.h Wed Sep 01 12:20:40 2010 +0100 @@ -0,0 +1,131 @@ +/* +* Copyright (c) 2002-2010 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: Define SRCS's transport ECom interface. +* +*/ + + + +#ifndef _SRCSTRANSPORT_ +#define _SRCSTRANSPORT_ + +// INCLUDES +#include +#include +#include +#include +#include "SrcsClSv.h" + +// CONSTANTS +// UID of this interface +const TUid KCSrcsTransportUid = {0x101F7C9A}; + +// default OBEX receiving buffer size, +// used when service controller does not specify the receiving buffer size in its .rss +const TUint KSRCSDefaultReceiveMtu = 0x4000; + +// default OBEX sending buffer size, +// used when service controller does not specify the sending buffer size in its .rss +const TUint KSRCSDefaultTransmitMtu = 0x3000; + + + + +/** + * An abstract class being representative of the + * concrete class which the client wishes to use. + * It acts as a base, for a real class to provide all the + * functionality that a client requires. + * It supplies instantiation & destruction by using + * the ECom framework, and functional services + * by using the methods of the actual class. + */ +class CSrcsTransport : public CBase, public MObexAuthChallengeHandler + { +public: + + /** + * Two-phased constructor. + */ + static CSrcsTransport* NewL(TUid aImplUid, CImplementationInformation* aParams ); + + /** + * Destructor. + */ + virtual ~CSrcsTransport(); + + /** + * Request a list of all available implementations which satisfies this given interface. + * + * @param aImplInfoArray Implementation instance array. + * @return none. + */ + static void ListAllImplementationsL(RImplInfoPtrArray& aImplInfoArray); + + /** + * Request a list of matching implementations which satisfies this given interface. + * + * @param aMatchString String to be matched by the implemention. + * @param aImplInfoArray Implementation instance array. + * @return none. + */ + static void ListImplementationsL(const TDesC8& aMatchString, RImplInfoPtrArray& aImplInfoArray); + + /** + * Check if OBEX service is still active. + * + * @return true: OBEX service is still active. + * false: OBEX service is inactive. + */ + virtual TBool IsOBEXActive() = 0; + + /** + * Perform any outstanding initialization tasks. + * + * The transport may decide to implement two-phase initialization to improve performance where needed. + * For instance, USB Transport has to register all service controller's interfaces and complete the message from obex class controller + * as soon as possible to satisfy timing requirements and defer service controller plugin creation to later stage. + * + * @return none. + */ + virtual void PostInitializeL(); + + +protected: + /** + * C++ default Constructor + */ + inline CSrcsTransport(); + + /** + * MObexAuthChallengeHandler implementation + */ + + /** + * Password for authenticated connection + * + * @param aUserID user id. + */ + virtual void GetUserPasswordL( const TDesC& aUserID ) = 0; + + +private: + // Unique instance identifier key + TUid iDtor_ID_Key; + }; + +#include "SrcsTransport.inl" + +#endif +