--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mtpfws/mtpfw/dataproviders/dataproviderapi/interface/mmtpframeworkconfig.h Tue Feb 02 01:11:40 2010 +0200
@@ -0,0 +1,234 @@
+// 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 MMTPFRAMEWORKCONFIG_H
+#define MMTPFRAMEWORKCONFIG_H
+
+#include <e32base.h>
+
+/**
+Defines the framework configurability parameter interface.
+
+The MTP framework implements a number of configurability parameters using a
+central repository. The initial set of configurability parameters are loaded
+from a compiled (binary) initialisation file. Read only access to the
+framework configurability data is available for reference purposes using this
+interface. Write access to these parameters is only available to the MTP
+framework.
+@publishedPartner
+@released
+*/
+class MMTPFrameworkConfig
+ {
+public:
+
+ /**
+ Defines the framework configurability parameters.
+ */
+ enum TParameter
+ {
+ /**
+ This parameter defines the Device Friendly Name MTP device property
+ value. It is implemented as a string and has a maximum length of 254
+ characters. The parameter value specified in the initialisation file
+ may be overwritten in the course of MTP operational processing, if an
+ MTP SetDevicePropValue specifying the Device Friendly Name device
+ property is received.
+
+ This parameter value can be retrieved as either @see TDes or @see HBufC
+ values.
+ */
+ EDeviceFriendlyName = 0x00000000,
+
+ /**
+ This parameter defines the Synchronization Partner MTP device property
+ value. It is implemented as a string and has a maximum length of 254
+ characters. The parameter value specified in the initialisation file
+ may be overwritten in the course of MTP operational processing, if an
+ MTP SetDevicePropValue specifying the Synchronization Partner device
+ property is received.
+
+ This parameter value can be retrieved as either @see TDes or @see HBufC
+ values.
+ */
+ ESynchronizationPartnerName = 0x00000001,
+
+ /**
+ This parameter is reserved for future use.
+ */
+ ERamDriveMetadataStorageEnable = 0x00000002,
+
+ /**
+ This parameter indicates if the framework will allocate MTP logical
+ storage IDs. If set to ETrue, then the framework will allocates a
+ single logical storage ID on each of the available Symbian OS file
+ system drives as they become available. If set to EFalse then the
+ framework will not allocate any MTP logical storage IDs, in which
+ case the active data providers are responsible for doing so using
+ the @see MMTPStorageMgr interface.
+
+ This parameter value can be retrieved as an @see TBool value.
+ */
+ ELogicalStorageIdsAllocationEnable = 0x00000003,
+
+ /**
+ This parameter specifies the Symbian OS file system drive which acts as
+ the default MTP storage ID (0x00000000). It is implemented as an
+ integer value which represents the default drive using a zero based
+ numbering scheme (i.e. 0 represents the A drive, 25 represents the Z
+ drive etc.) or a MTP storage ID(assigned by the MTP framework).
+
+ This parameter value can be retrieved as an @see TUint value.
+ */
+ EDefaultStorageDrive = 0x00000004,
+
+ /**
+ This parameter specifies the device's default MTP Object Format Code.
+ This format is used when processing MTP operation which specify a
+ default (0x00000000) ObjectFormatCode parameter (e.g. InitiateCapture,
+ InitiateOpenCapture).
+
+ This parameter value can be retrieved as an @see TUint value.
+ */
+ EDefaultObjectFormatCode = 0x00000005,
+
+ /**
+ UID of the Stub SIS File
+ This is used by the framework while loading the dataprovider.
+ This parameter value can be retrieved as an @see TUint value.
+ */
+ EPackageStubUID = 0x00000006,
+ /**
+ Implimentation UID of transport PlugIn with high priority.
+ This is used when ETransportSwitchEnabled is enabled.when
+ MTP client try to start a transport protocol while another
+ one already exist, if the new one is equal to this parameter
+ value, the previous protocol plugin will be stopped and the
+ new transport protocol plugin will be started.
+
+ This value can be retrieved as an @TDes value.
+ */
+ ETransportHighPriorityUID = 0x00000007,
+
+ /**
+ Transport protocol implementation switch enable flag.
+ If set to ETrue, the switch is allowed;if set to EFalse,
+ the switch is not allowed.
+ Refer to ETransportHighPriorityUID for more details.
+
+ This value can be retrieved as an @see TBool value.
+ */
+ ETransportSwitchEnabled = 0x00000008,
+
+ /*
+ * Reserved by MTP framework.
+ * This parameter specifies the device default FunctionalID(128 bits, GUID),
+ */
+ EDeviceDefaultFuncationalID = 0x00000010,
+
+ /*
+ * Reserved by MTP framework.
+ * This parameter specifies the device current FunctionalID(128 bits, GUID),
+ */
+ EDeviceCurrentFuncationalID = 0x00000011,
+
+ /*
+ * Reserved by MTP framework.
+ * This parameter specifies the device default ModelID(128 bits, GUID),
+ */
+ EDeviceDefaultModelID = 0x00000012,
+
+ /*
+ * Reserved by MTP framework.
+ * This parameter specifies the device current ModelID(128 bits, GUID),
+ */
+ EDeviceCurrentModelID = 0x00000013,
+
+ /*
+ * Reserved by MTP framework.
+ * Indicate whether the MTP server has crashed or been abnormally down or not.
+ * This parameter value can be retrieved as an @see TBool value.
+ */
+ EAbnormalDown = 0x00000014,
+
+ /**
+ This parameter specifies the Symbian OS file system drives which are
+ excluded from the set of MTP storages which are managed by the MTP
+ framework. Any drive which is identified in this set will not be
+ assigned a corresponding MTP storage ID value by the MTP framework.
+ This parameter is implemented as an array of integer values each of
+ which represent an excluded drive using a zero based numbering scheme
+ (i.e. 0 represents the A drive, 25 represents the Z drive etc.)
+
+ This parameter value can be retrieved as an @see RArray<TUint> value.
+ */
+ EExcludedStorageDrives = 0x00010000
+ };
+
+public:
+
+ /**
+ Provides the value of a descriptor configurability parameter. This should
+ be used when the length of the parameter value is known not to exceed the
+ capacity of the parameter value buffer. If the maximum parameter length is
+ not known then the @see ValueL method should be used.
+ @param aParam The identifier of the parameter value to be retrieved
+ @param aValue The parameter value buffer to be filled.
+ @leave One of the system wide error codes, if a processing failure occurs.
+ */
+ virtual void GetValueL(TParameter aParam, TDes& aValue) const = 0;
+
+ /**
+ Provides the value of a descriptor configurability parameter. This should
+ be used when the maximum length of the parameter value is not known.
+ @param aParam The identifier of the parameter value to be retrieved.
+ @return A pointer to a heap descriptor containing the parameter value.
+ Ownership IS transferred.
+ @leave One of the system wide error codes, if a processing failure occurs.
+ */
+ virtual HBufC* ValueL(TParameter aParam) const = 0;
+
+ /**
+ Provides the value of an unsigned integer configurability parameter.
+ @param aParam The identifier of the parameter value to be retrieved
+ @param aValue The parameter value buffer to be filled.
+ @leave One of the system wide error codes, if a processing failure occurs.
+ */
+ virtual void GetValueL(TParameter aParam, TUint& aValue) const = 0;
+
+ /**
+ Provides the value of a boolean configurability parameter.
+ @param aParam The identifier of the parameter value to be retrieved
+ @param aValue The parameter value buffer to be filled.
+ @leave One of the system wide error codes, if a processing failure occurs.
+ */
+ virtual void GetValueL(TParameter aParam, TBool& aValue) const = 0;
+
+ /**
+ Provides the value of an unsigned integer array configurabilitt parameter.
+ @param aParam The identifier of the parameter value to be retrieved
+ @param aValue The parameter value buffer to be filled.
+ @leave One of the system wide error codes, if a processing failure occurs.
+ */
+ virtual void GetValueL(TParameter aParam, RArray<TUint>& aArray) const = 0;
+ };
+
+#endif // MMTPFRAMEWORKCONFIG_H