mtpfws/mtpfw/dataproviders/dputility/inc/mmtpservicehandler.h
changeset 0 d0791faffa3f
equal deleted inserted replaced
-1:000000000000 0:d0791faffa3f
       
     1 // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 // mw/remoteconn/mtpfws/mtpfw/dataproviders/dputility/inc/mmtpservicehandler.h
       
    15 
       
    16 /**
       
    17  @file
       
    18  @internalTechnology
       
    19 */
       
    20 
       
    21 #ifndef __MMTPSERVICEHANDLER_H__
       
    22 #define __MMTPSERVICEHANDLER_H__
       
    23 
       
    24 #include <mtp/cmtptypeserviceproplist.h>
       
    25 #include <mtp/cmtptypeobjectpropdesc.h>
       
    26 #include <mtp/tmtptypeguid.h>
       
    27 #include "mtpsvcdpconst.h"
       
    28 
       
    29 class CMTPTypeServiceInfo;
       
    30 class CMTPTypeServiceCapabilityList;
       
    31 class CMTPTypeDeleteServicePropList;
       
    32 class CMTPTypeServicePropDescList;
       
    33 class CMTPTypeObjectPropDesc;
       
    34 class CRepository;
       
    35 
       
    36 class MMTPServiceHandler
       
    37 	{
       
    38 public:
       
    39 	virtual TMTPResponseCode GetServiceCapabilityL(TUint16 aServiceFormatCode, CMTPTypeServiceCapabilityList& aServiceCapabilityList) const = 0;
       
    40 	virtual TMTPResponseCode GetServiceInfoL(CMTPTypeServiceInfo& aServiceInfo) const = 0;
       
    41 	virtual TMTPResponseCode GetServicePropDescL(TUint16 aServicePropertyCode, CMTPTypeServicePropDescList& aPropDescList) const = 0;
       
    42 	virtual TMTPResponseCode GetServicePropertyL(TUint16 aPropertyCode, CMTPTypeServicePropList& aPropList) const = 0;
       
    43 	virtual TMTPResponseCode SetServicePropertyL(const CMTPTypeServicePropListElement& aPropElement) = 0;
       
    44 	virtual TMTPResponseCode DeleteServicePropertyL(TUint16 aPropertyCode) = 0;
       
    45 	/**
       
    46 	Get all service property codes into an array.
       
    47 	@param aArray Returned service property codes array.
       
    48 	*/
       
    49 	virtual void GetAllSevicePropCodesL(RArray<TUint32>& aPropCodes) const = 0;
       
    50 	virtual void GetAllServiceFormatCodeL(RArray<TUint32>& aFormatCodes) const = 0;
       
    51 
       
    52 public:
       
    53 	IMPORT_C static CMTPTypeObjectPropDesc* GenerateSvcObjPropertyL(
       
    54 		TUint aDataType, const TMTPTypeGuid& aPKNamespace,
       
    55 		TUint aPKID, const TDesC& aName, TUint8 aFormFlag,
       
    56 		const MMTPType* aForm, CMTPTypeObjectPropDesc::TMTPObjectPropDescGetSet aObjGetSet,
       
    57 		TUint16 aObjPropCode, TUint32 aGroupCode = 0);
       
    58 	IMPORT_C static CMTPTypeObjectPropDesc* GenerateSvcObjPropertyLC(
       
    59 		TUint aDataType, const TMTPTypeGuid& aPKNamespace,
       
    60 		TUint aPKID, const TDesC& aName, TUint8 aFormFlag,
       
    61 		const MMTPType* aForm, CMTPTypeObjectPropDesc::TMTPObjectPropDescGetSet aObjGetSet,
       
    62 		TUint16 aObjPropCode, TUint32 aGroupCode = 0);
       
    63 
       
    64 	IMPORT_C static CMTPTypeObjectPropDesc* GenerateGenericObjectPropDescLC(TUint16 aObjPropCode);
       
    65 
       
    66 	IMPORT_C static TMTPResponseCode SaveServicePropValue(
       
    67 		CRepository& aRepository, TUint aColumnNum, TInt aNewData);
       
    68 	IMPORT_C static TMTPResponseCode SaveServicePropValue(
       
    69 		CRepository& aRepository, TUint aColumnNum, TMTPTypeGuid& aNewData);
       
    70 	};
       
    71 
       
    72 #endif // __MMTPSERVICEHANDLER_H__