mtpdataproviders/mtppictbridgedp/pictbridgeengine/inc/pictbridge.h
branchRCL_3
changeset 20 4a793f564d72
parent 19 0aa8cc770c8a
child 21 74aa6861c87d
--- a/mtpdataproviders/mtppictbridgedp/pictbridgeengine/inc/pictbridge.h	Tue Aug 31 16:03:15 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,274 +0,0 @@
-/*
-* Copyright (c) 2006, 2007 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 class defines and implements the API for UI engine. 
-*
-*/
-
-
-#ifndef PICTBRIDGE_H
-#define PICTBRIDGE_H
-
-#include "dpsdefs.h"
-#include <rptp.h>
-
-class TDpsXmlString;
-class CDpsUsbNotifier;
-class TMDpsOperation;
-class TDpsEvents;
-class CDpsStateMachine;
-class TDpsConfigPrintReq;
-
-NONSHARABLE_CLASS(CDpsEngine) : public CBase
-    {
-    public:
-        enum TConnectionStatus
-            {
-            ENotConnected = 1,
-            // ptp printer is connected
-            EPrinterConnected,
-            // ptp printer is disconnected
-            EPrinterDisconnected,
-            // in ptp personality, but device other than printer connected
-            EOtherConnected,
-            // in personality other than ptp and device is connected 
-            EWrongPrintModeConnected
-            };
-	        
-    public:
-        /**
-        *   @since 3.2
-        *   @lib pictbridge.lib
-        *
-        *   The client should always call this function to get the Dps 
-        *   engine object.
-        *   This function guarantees there is only one engine in the 
-        *   thread, a singleton.  	
-        *   @return CDpsEngine* the only Dps Engine instance in a thread
-        *   
-        */
-        IMPORT_C static CDpsEngine* GetEngineL();
-        
-        /**
-        *   @since 3.2
-        *   @lib pictbridge.lib
-        *
-        *	Deletes the dps engine object. 
-        */
-        IMPORT_C void Delete();
-        
-        /**
-        *   @since 3.2
-        *   @lib pictbridge.lib
-        *
-        *	Sets the personality to PTP. This must be the first call after 
-        *   the client has got the CDpsEngine object and should only be
-        *   called once.
-        *   @param aStatus the asynchronous request and it has the connect
-        *   state after returned. The client can use this value to get the
-        *   current connect status.        
-        */
-        IMPORT_C void SetPrintMode(TRequestStatus& aStatus);
-        							 
-        /**
-        *   @since 3.2
-        *   @lib pictbridge.lib
-        *
-        *   Cancels the SetPrintMode request        
-        */        							 
-        IMPORT_C void CancelPrintMode();
-						     
-        /**
-        *   @since 3.2
-        *   @lib pictbridge.lib
-        *
-        *   Registers connection notification. This function can inform 
-        *   the connection and the disconnect, two states. Connection: the
-        *   personality has been set to PTP by SetPrintMode, but the cable
-        *   is not connected at the moment. The connection will be informed
-        *   by this function. 
-        *   Disconnect: the user has unplugged the cable or changed 
-        *   personality.    
-        *   
-        *   @param aStatus the asynchronous request status and it has the 
-        *   connect state after returned.
-        */     
-        IMPORT_C void ConnectStateNotify(TRequestStatus& aStatus);
-				     					
-        /**
-        *   @since 3.2
-        *   @lib pictbridge.lib
-        *
-        *   Registers Dps event notification. There are two events: jobStatus
-        *   and deviceStatus. This function is called immediately after 
-        *   ConnecSatetNotify call. After this call, the client should issue 
-        *   ConfigPrintService request to configure the printer.
-        *   @param aParam this parameter serves as out parameter. After
-        *   processing the event from the printer, Dps engine will put
-        *   the correct value to this parameter. As the result, the client
-        *   can get the event by accessing this parameter after this request
-        *   gets answered. So the client should have it as a class variable
-        *   @param aStatus the asynchronous status. 
-        */
-        IMPORT_C void DpsEventNotify(TDpsEvents& aParam, 
-                                     TRequestStatus& aStatus);
-        
-        /**
-        *   @since 3.2
-        *   @lib pictbridge.lib
-        *
-        *   Cancels Dps event notification. The client only needs to call
-        *   this to reset the state of the dps engine and it must be called
-        *   after CancelDpsRequest().
-        */
-        IMPORT_C void CancelDpsEventNotify();
-        
-        /**
-        *   @since 3.2
-        *   @lib pictbridge.lib
-        *
-        *   Starts a Dps operation.
-        *   If this function returned with error, e.g. leaving, the client
-        *   should call CancelDpsRequest(), to cancel the pending request.
-        *   @param aRequest the Dps operation. It includes both request and 
-        *   reply. The client should fill in the request parameter and the 
-        *   Dps engine will fill in the reply paramter when this operation
-        *   is finished. The client should declare it as a class variable.
-        *   @param aStatus the asynchronous status
-        */
-        IMPORT_C void DoDpsRequestL(TMDpsOperation* aRequest, 
-                                    TRequestStatus& aStatus);
-		
-        /**
-        *   @since 3.2
-        *   @lib pictbridge.lib
-        *
-        *   Cancels the dps operation. Calling this will reset the state of 
-        *   the dps engine, either because of error happened or the client
-        *   wants to do this on purpose. In most cases, the client never need
-        *   to cancel the ongoing request because the request will end very 
-        *   quick, normally within several million seconds. The client normally
-        *   waits until the request is finished, either succesfully or
-        *   failed indicated by timeout.
-        */        
-        IMPORT_C void CancelDpsRequest();
-        
-        /**
-        *   @since 3.2
-        *   @lib pictbridge.lib
-        *
-        *   Reads the phone dps configuration from the resource file
-        *   @param aConfig the dps configuration is returned by this parameter
-        */
-        IMPORT_C void GetDpsConfigL(TDpsConfigPrintReq& aConfig);
-        
-        /**
-        *   @since 3.2
-        *   @lib pictbridge.lib
-        *
-        *   Gets the folder where the printer configure file should be kept. 
-        *   The print App needs a file to store the printer configure when it
-        *   first calls configPrintService Dps request. The print app can 
-        *   quit at anytime while the ptpserver (stack) is still running. 
-        *   Since the ptpstack is keeping the session with the printer, the 
-        *   printer always does not excute the second onward 
-        *   configPrintService request. As the result, the restarted print app
-        *   cannot get the printer configure. So there must be a file for 
-        *   keeping this information and it will be deleted by ptpserver when
-        *   it quits, e.g. when the connection with the printer is lost.
-        *   @return TDesC& the folder descriptor
-        */
-        IMPORT_C const TDesC& DpsFolder() const;
-            
-        /**
-        *   Gets the Dps event object
-        *   @return TDpsEvents* the pointer to the Dps event.
-        */
-        TDpsEvents* Event() const;
-            
-        /**
-        *  Gets the ptp server reference
-        *  @return RPtp& the reference to ptp server.
-        */
-        RPtp& Ptp();
-            
-        /**
-        *  Gets the dps constant strings
-        *  @return TDpsGlobalData* the pointer to dps constant strings.
-        */
-        TDpsXmlString* DpsParameters() const;
-         
-        /**
-        * @return dps event notify AO status
-        *   
-        */
-        TRequestStatus*& EventRequest();
-            
-        /**
-        * @return dps request AO status
-        */
-        TRequestStatus*& OperationRequest();
-         
-        /**
-        * @return connection notify AO status
-        */               
-        TRequestStatus*& PrinterConnectRequest();
-        
-        /**
-        *  Sets the Dps file folder. 
-        *  @param aFolder the foler location, readed from Ptp server/stack 
-        */
-        void SetDpsFolder(const TDesC& aFolder);
-        
-            
-    private:
-        
-        /**
-        *   Prohibits the destructor called by the client. To delete engine object
-        *   Delete() must be called
-        */
-        ~CDpsEngine();  
-        
-        /**
-        *   Second phase constructor. Operations which might leave should 
-        *   be called here
-        */
-        void ConstructL();
-              
-    private:
-        // string constant, owned by this class
-        TDpsXmlString* iDpsParameters;
-        // dps engine state machine, owned by this class
-        CDpsStateMachine *iDpsOperator;
-        // dps operation AO request, owned by this class
-        TRequestStatus* iDpsOperationRequest;
-        // dps event AO request, owned by this class
-        TRequestStatus* iDpsEventRequest;
-        // printer connection/disconnection AO request, owned by this class
-        TRequestStatus* iPrinterConnectRequest;
-        
-        // usb cable connection/disconnection notifier, owned by this class
-        CDpsUsbNotifier *iUsbNotifier;
-                
-        // out parameter for events (NotifyJobStatus and
-        // NotifyDeviceStauts), it is
-        // passed from UI engine, not owned by this class  
-        TDpsEvents* iOutEvent;
-        
-        // Ptp Server session, owned by this class
-        RPtp    iPtp;
-        // the folder where all dps releated files should be stored              
-        TFileName iDpsFolder;  
-    };
-
-#endif