ImagePrint/ImagePrintEngine/DeviceProtocols/upnpprotocolfw2/inc/cupprinter.h
branchRCL_3
changeset 28 d59c248c9d36
parent 0 d11fb78c4374
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ImagePrint/ImagePrintEngine/DeviceProtocols/upnpprotocolfw2/inc/cupprinter.h	Wed Sep 01 12:30:38 2010 +0100
@@ -0,0 +1,200 @@
+/*
+* Copyright (c) 2002-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:  Declares CUPPrinter class
+*
+*/
+
+
+#ifndef CUPPRINTER_H
+#define CUPPRINTER_H
+
+#include <upnpservice.h>
+#include <upnpdevice.h>
+
+#include "upconsts.h"
+#include "tprinter.h"
+#include "imageprint.h"
+
+/*
+* @class 		CUPPrinter
+* @description	This class maps the printers between protocol client and
+*				UPnP printer control point.
+*/
+
+NONSHARABLE_CLASS(CUPPrinter) : public CBase
+	{
+		public:
+			/*
+			* @function 	NewL
+			* @description	Constructs the CUPPrinter object
+			* @param		CDevice*
+			* @param		TInt Mapping id
+			*/
+			static CUPPrinter* NewL(CUpnpDevice& aDevice, const TInt aId);
+
+			/*
+			* @function 	NewL
+			* @description	Constructs the CUAPrinter object
+			* @param		TInt 	Mapping id
+			* @param		TDesC& 	UPnP UId
+			* @param		TDesC& 	Display name of printer
+			*/
+			static CUPPrinter* NewL(const TInt aId, const TDesC8& aUId, const TDesC8& aDisplayName, const TInt aVendor);
+
+
+			/*
+			* @function 	Destructor
+			* @description	Destructor
+			*/
+			~CUPPrinter();
+		
+
+			/*
+			* @function 	Device
+			* @description	Returns a pointer to CDevice
+			* @return		CDevice*
+			*/
+			CUpnpDevice* Device();
+
+			/*
+			* @function 	ToTPrinter
+			* @description	Returns the object as TPrinter
+			* @return		TPrinter
+			*/
+			TPrinter ToTPrinter();
+
+			/*
+			* @function 	Id
+			* @description	Returns the id of the device. 
+			*				NOTE: This id maps the printer requests from protocol client 
+			*				to a correct UPnP printer control point's printer
+			*/
+			TInt Id();
+
+			/*
+			* @function 	GetUId
+			* @description	Returns the UPnP uid of the device. 
+			*/
+			void GetUId(TDesC& aUId);
+
+			/*
+			* @function 	IsDisappeared
+			* @description	Returns ETrue if the printer is reported to be disappeared
+			* @return 		TBool
+			*/
+			TBool IsDisappeared();
+
+			/*
+			* @function 	SetDisappeared
+			* @description	Sets the iDisappeared value as ETrue. Called when the printer is reported to be disappeared.
+			* @param 		TBool
+			*/
+			void SetDisappeared(TBool aDisappeared = ETrue);
+			/*
+			* @function 	UId
+			* @description	Returns the printers UPnP UId
+			* @return 		TPtrC
+			*/
+			TPtrC8 UId();
+
+			/*
+			* @function 	DisplayName
+			* @description	Returns the printers display name
+			* @return 		TPtrC
+			*/
+			TPtrC8 DisplayName();
+
+			/*
+			* @function 	SetDevice
+			* @description	Sets the CDevice pointer. NOTE: The actual object is never owned by this class!
+			* @return 		CDevice*
+			*/
+			void SetDevice(CUpnpDevice* aDevice);
+
+			/*
+			* @function 	SetCached
+			* @description	Sets a flag if printer is cached in cache file or not
+			* @param 		TBool
+			*/
+			void SetCached(TBool aCached);
+
+			/*
+			* @function 	Cached
+			* @description	Returns a flag if printer is cached in cache file or not
+			* @return 		TBool
+			*/
+			TBool Cached();
+
+			/*
+			* @function 	Vendor
+			* @description	Returns an enum value TPrinterVendor
+			* @return 		TPrinterVendor
+			*/
+			TPrinter::TPrinterVendor Vendor();
+
+			/*
+			* @function 	SetVendor
+			* @description	Returns an enum value TPrinterVendor
+			* @return 		TPrinterVendor
+			*/
+			void SetVendor(const TDesC8& aManufacturer);
+
+		protected:
+		
+
+		private:
+			/*
+			* @function 	Constructor
+			* @description	C++ constructor
+			*/
+			CUPPrinter();
+	
+			/*
+			* @function 	ConstructL
+			* @description	Construction's second phase
+			* @param		CDevice*	Pointer to UPnP device
+			* @param		TInt 		Mapping id
+			* @param		TDesC8&		UPnP UId
+			* @param		TDesC8&		Display name of printer
+			*/
+			void ConstructL(CUpnpDevice* aDevice, const TInt aId, const TDesC8& aUId, const TDesC8& aDisplayName, const TInt aVendor);
+		
+		private:
+		
+		// @var iDevice				Pointer to UPnP device object
+		CUpnpDevice* iDevice;
+		
+		// @var iId					Printer id for client apps
+		TInt	 iId;
+
+		// @var iUId				Printer UPnP UId
+		HBufC8*	 iUId;
+
+		// @var iDisplayName		Printer's display name (UPnP Friendly name)
+		HBufC8*	 iDisplayName;
+		
+		// @var iDisappeared		ETrue, when a disappearing notification is received for this printer
+		TBool iDisappeared;			
+		
+		// @var iCached				ETrue, if printer is cached in cache file.
+		TBool iCached;	
+		
+		// @var iVendor				TPrinter::TPrinterVendor value for defining vendor
+		TPrinter::TPrinterVendor iVendor;		
+			
+	};
+
+#endif // CUPPRINTER_H
+
+//  End of File