diff -r 0aa8cc770c8a -r 4a793f564d72 connectivitymodules/SeCon/catalogspcconnectivityplugin/inc/catalogspcconnectivityclient.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/connectivitymodules/SeCon/catalogspcconnectivityplugin/inc/catalogspcconnectivityclient.h Wed Sep 01 12:20:56 2010 +0100 @@ -0,0 +1,145 @@ +/* +* Copyright (c) 2006 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: This is a client which communicate with the server +* CatalogsEnginePCClientFrontEnd +* +*/ + + +#ifndef R_CATALOGSPCCONNECTIVITYCLIENT_H +#define R_CATALOGSPCCONNECTIVITYCLIENT_H + +#include +#include + +/** + * This client communicate with the server CatalogsEnginePCClientFrontEnd + * + * This class get requests from CatalogsPCConnectivityPlugin. + * Class itself is client in client-server solution. When request + * is received it will start the server (CatalogsEnginePCClientFrontEnd). + * This client class is dummy, the server have all the functionality. + * + * @lib catalogspcconnectivityplugin + * @since S60 v3.1 + */ +class RCatalogsPCConnectivityClient : public RSessionBase + { +public: + + /** + * Constructor + * + * @since S60 v3.1 + */ + RCatalogsPCConnectivityClient(); + + /** + * Destructor + * + * @since S60 v3.1 + */ + ~RCatalogsPCConnectivityClient(); + + /** + * A connection is formed to the Catalogs engine pc client front-end. + * This will start up the front-end server and connect to it + * + * @since S60 v3.1 + * @return TInt Standard error code, KErrNone if connection is formed + * or the connection was formed already + */ + TInt Connect(); + + /** + * The connection to the Catalogs engine front-end is closed + * + * @since S60 v3.1 + */ + void Close(); + + /** + * All MIME types supported by this component can be asked using this method + * + * @since S60 v3.1 + * @return RPointerArray< TDataType > contain all supported MIME types + * RPointerArray TDataTypes have allocated using new, caller + * have to remember to delete them properly + * @exeption Leaves with standard error codes + */ + RPointerArray SupportedMimeTypesL(); + + /** + * A data packet of max length 65535 (0xFFFF) bytes is synchronously + * sent to the Catalogs engine front-end + * Usage: After PutDataL have been called, you have to call GetDataL + * before you can call PutDataL again + * + * @since S60 v3.1 + * @param aMimeType data packet MIME type + * @param aData data buffer to read from + * @exeption Leaves with standard error codes + */ + void PutDataL( const TDataType& aMimeType, + const CBufFlat& aData ); + + /** + * A data packet is synchronously transfered from the Catalogs front-end + * and returned to caller + * Usage: Everytime before calling GetDataL, you have to call PutDataL. + * So you can't call GetData in sequentially. + * + * @since S60 v3.1 + * @param aMimeType data packet MIME type + * @param aData data buffer to write to. Will call ExpandL function + * for aData, but never more than max length 65535 (OxFFFF) + * @return nothing, but parameter aData work as return buffer + * @exeption Leaves with standard error codes + */ + void GetDataL( TDataType& aMimeType, CBufFlat& aData ); + + +private: + +// private functions + + /** + * Returns the earliest version number of the server that we can talk to + * + * @since S60 v3.1 + * @return TVersion Earliest version number we can talk to + */ + TVersion Version() const; + + /** + * Start server if it isn't running already + * + * @since S60 v3.1 + * @return TInt Standard error code, KErrNone if server was running + * already or start was succesfull + */ + TInt StartServer(); + + /** + * Create server process + * + * @since S60 v3.1 + * @return TInt standard error code, KErrNone when creation was success + */ + TInt CreateServerProcess(); + + }; + +#endif // R_CATALOGSPCCONNECTIVITYCLIENT_H +