wim/WimClient/inc/WimClient.h
changeset 0 164170e6151a
--- /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 <f32file.h>
+#include <e32base.h> 
+
+//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