--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mtpfws/mtpfw/dataproviders/dataproviderapi/interface/mmtpdataproviderconfig.h Tue Feb 02 01:11:40 2010 +0200
@@ -0,0 +1,168 @@
+// Copyright (c) 2006-2009 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:
+//
+
+/**
+ @file
+ @publishedPartner
+ @released
+*/
+
+#ifndef MMTPDATAPROVIDERCONFIG_H
+#define MMTPDATAPROVIDERCONFIG_H
+
+#include <e32std.h>
+
+/**
+Defines the data provider configurability parameter interface.
+@publishedPartner
+@released
+*/
+class MMTPDataProviderConfig
+ {
+public:
+
+ /**
+ Defines the data provider configurability parameters.
+ */
+ enum TParameter
+ {
+ /**
+ This parameter specifies the type of the data provider which in turn
+ determines how it will be loaded. The set of valid parameter values is
+ defined by the @see TMTPDataProviderType enumeration.
+
+ This parameter value can be accessed using the @see UintValue API.
+ */
+ EDataProviderType,
+
+ /**
+ This parameter specifies the highest major MTP protocol revision
+ supported by the data provider. MTP protocol revision identifiers take
+ the form N.N, of which the major protocol revision comprises the most
+ significant digit(s) to the left of the period (.), e.g. a major
+ protocol version value of 1 would represent all MTP protocol revisions
+ from 1.0 up to (but not including) 2.0.
+
+ This parameter value can be accessed using the @see UintValue API.
+ */
+ EMajorProtocolRevision,
+
+ /**
+ This parameter indicates whether the object enumerations which the data
+ provider registers with the MTP object manager should persist when the
+ data provider is unloaded from the MTP framework. If the persistent
+ option is selected, then on each subsequent activation after its
+ initial object store enumeration is complete the data provider will be
+ required to re-enumerate only that portion of its object store which
+ has changed (objects added, removed, or modified) since it was last
+ loaded. If the persistent option is not selected, then the data
+ provider will be required to re-enumerate its entire object store each
+ time it is loaded.
+
+ This parameter value can be accessed using the @see BoolValue API
+ */
+ EObjectEnumerationPersistent,
+
+ /**
+ This parameter specifies the modes of operation which the data provider
+ supports. It is specified as an integer which encodes a set of bit
+ flags. The set of valid bit flag values is defined by the @see TMTPMode
+ enumeration.
+
+ The set of parameter values can be accessed using the
+ @see GetArrayValue API.
+ */
+ ESupportedModes,
+
+ /**
+ This parameter is reserved for future use.
+ */
+ EServerName,
+
+ /**
+ This parameter is reserved for future use.
+ */
+ EServerImageName,
+
+ /**
+ This parameter specifies an optional configuration data resource whose
+ form and function is specific to the data provider.
+
+ The parameter value is specified as an LLINK resource and can be
+ accessed using the @see DesC8Value API.
+ */
+ EOpaqueResource,
+
+ /**
+ This parameter specifies the resource filename in which the set of data
+ provider configurability parameter values are specified.
+
+ The set of parameter values can be accessed using the
+ @see DesCValue API.
+ */
+ EResourceFileName,
+
+ /**
+ This parameter specifies the enumeration phase of the data provider
+
+ This parameter value can be accessed using the @see UintValue API.
+ */
+ EEnumerationPhase
+ };
+
+public:
+
+ /**
+ Provides the specified @see TBool parameter value.
+ @param aParam The parameter value to retrieve.
+ @return Returns The parameter value
+ @panic USER 0, if the parameter data type is not @see TBool.
+ */
+ virtual TBool BoolValue(TParameter aParam) const = 0;
+
+ /**
+ Provides the specified @see TDesC parameter value.
+ @param aParam The parameter value to retrieve.
+ @return Returns The parameter value
+ @panic USER 0, if the parameter data type is not @see TDesC.
+ */
+ virtual const TDesC& DesCValue(TParameter aParam) const = 0;
+
+ /**
+ Provides the specified @see TDesC8 parameter value.
+ @param aParam The parameter value to retrieve.
+ @return Returns The parameter value
+ @panic USER 0, if the parameter data type is not @see TDesC8.
+ */
+ virtual const TDesC8& DesC8Value(TParameter aParam) const = 0;
+
+ /**
+ Provides the specified @see TUint parameter value.
+ @param aParam The parameter value to retrieve.
+ @return Returns The parameter value
+ @panic USER 0, if the parameter data type is not @see TUint.
+ */
+ virtual TUint UintValue(TParameter aParam) const = 0;
+
+ /**
+ Retrieves the specified @see RArray<TUint> parameter value.
+ @param aParam The parameter value to retrieve.
+ @return Returns The parameter value
+ @panic USER 0, if the parameter data type is not @see RArray<TUint>.
+ */
+ virtual void GetArrayValue(TParameter aParam, RArray<TUint>& aArray) const = 0;
+ };
+
+#endif // MMTPDATAPROVIDERCONFIG_H