diff -r 000000000000 -r 164170e6151a wim/WimClient/inc/WimClient.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wim/WimClient/inc/WimClient.h Tue Jan 26 15:20:08 2010 +0200 @@ -0,0 +1,164 @@ +/* +* Copyright (c) 2002 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: Startup place for client & server, message handling. +* +*/ + + +#ifndef WIMCLIENT_H +#define WIMCLIENT_H + +// INCLUDES +#include "WimClsv.h" +#include +#include + +//FORWARD DECLARATIONS +class TWIMSrvStartSignal; + +//The number of message slots represents the number of operations that +//can be outstanding at once. If you wish to have more asynchronous operations +//outstanding than this, use more message slots. +//You should always provide an extra slot for the cancel operation. +const TInt KMessageSlotsNum = 5; + + +// CLASS DECLARATION + +/** +* RWimClient, this creates new connection to server and sends +* syncronous & asyncronous messages to server. +* +* @lib WimClient +* @since Series 60 2.1 +*/ +class RWimClient: public RSessionBase + { + public: + + /** + * Constructor + */ + RWimClient(); + + /** + * Destructor + */ + virtual ~RWimClient(); + + /** + * Connect to WIMI server + * @return TInt + */ + TInt Connect(); + + /** + * Starts Server + * @return TInt -error code + */ + TInt StartWim(); + + + /** + * Sends initialization command to Server. + * @param aStatus -Client status + * @return void + */ + void Initialize( TRequestStatus& aStatus ); + + /** + * Cancel initialization command to Server. + * @return void + */ + void CancelInitialize(); + + /** + * Return version + * @return TVersion + */ + TVersion Version() const; + + /** + * Sends data synchronoysly to server + * @param aFn the WIMRequest operation + * @param aIpcArgs IPC parameters + * @return TInt + */ + TInt SendReceiveData( TWimServRqst aFn, TIpcArgs& aIpcArcs ); + + /** + * Sends data asynchronoysly to server + * @param aFn the WIMRequest operation + * @param aIpcArgs IPC parameters + * @param aStatus -Caller's status + * @return void + */ + void SendReceiveData( TWimServRqst aFn, + TIpcArgs& aIpcArgs, + TRequestStatus& aStatus ); + + /** + * Free the address list + * @param addrLst -Address of a list to be freed + * @return void + */ + void FreeAddrLst( const TUint32 addrLst ); + + /** + * Free the address list + * @param addrLst -Reference to WIMI + * @param aSize -Size to be freed + * return void + */ + void FreeWIMAddrLst( const TWimAddressList addrLst, const TUint aSize ); + + /** + * Free the address list + * @param aAddr -Referece to WIMI + * return void + */ + void FreeWIMAddr( const TWimAddress aAddr ); + + + private: + + + /** + * Return the name of the Wim server file + * @param aServer -descriptor for server filename + * @return TInt -error code + */ + TInt FindServerFileName( TFileName& aServer ); + + + private: + + /** + * Copy constructor + * @param aSource -Reference to class object. + */ + RWimClient( const RWimClient& aSource ); + + /** + * Assigment operator + * @param aParam -Reference to class object. + */ + RWimClient& operator = ( const RWimClient& aParam ); + + + + + }; + +#endif