--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mmappfw_plat/mpx_collection_common_definition_api/inc/mpxcollectionframeworkdefs.h Thu Dec 17 08:55:47 2009 +0200
@@ -0,0 +1,207 @@
+/*
+* Copyright (c) 2006 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: Common definition
+*
+*/
+
+
+#ifndef MPXCOLLECTIONFRAMEWORKDEFS_H
+#define MPXCOLLECTIONFRAMEWORKDEFS_H
+
+
+#include <mpxcommonframeworkdefs.h>
+
+// UID definition for collection mode
+// For application collection mode, application UID can be used
+//
+const TUid KMcModeDefault = {0x1028292C};
+const TUid KMcModeIsolated = {0x1028292D};
+const TUid KMcModePlaylist = {0x1028292E}; // special mode used by playlist
+ // isolated, noshareable
+
+/**
+ * This is SPECIFIC to the music db plugin and is a reference implementation.
+ *
+ * EMcItemDeleted, EMcItemInserted and EMcItemModified will be called back when
+ * an item is deleted, added or modified via RemoveL(), AddL() and SetL()
+ *
+ * When user adds a new playlist through AddL, only EMcPlaylistInserted message
+ * will be sent with the Id of the playlist added.
+ *
+ * When user adds a track to a saved playlist through AddL, only EMcPlaylistModified
+ * message will be sent with the Id of the playlist modified.
+ *
+ * When user removes a track from the collection, the client will receive
+ * EMcItemDeleted for the track deleted from the collection and
+ * EMcPlaylistModified for the modified playlist to indicate which playlists
+ * have been updated as result of this track removal.
+ *
+ * When user removes a playlist from the collection, the client will receive
+ * EMcItemDeleted for the playlist removed from the collection.
+ *
+ * When user removes a track from the playlist, the client will receive
+ * EMcPlaylistModified for the playlist the track is removed from.
+ *
+ * When user renames a playlist, EMcPlaylistModified is called back with the
+ * new Id of the renamed playlist.
+ *
+ * When MTP renames a song, it will receive EMcItemModified for the track and
+ * EMcPlaylistModified for the playlist because the URI of one of the songs in
+ * the playlist has been changed.
+ *
+ * When a playlist is updated (overwrite its contents or reordering tracks in
+ * the playlist), EMcPlaylistModified is sent.
+ *
+ * This will be replaced by KMPXMessageIdItemChanged message
+ *
+ * @deprecated TO BE REMOVED IN INCREMENT 9 RELEASE
+ */
+
+enum TMPXCollectionChangeType
+ {
+ EMcItemDeleted, // item deleted, including removing playlist itself
+ EMcItemInserted, // item added
+ EMcItemModified, // item modified
+ EMcPlaylistInserted, // new playlist added
+ EMcPlaylistModified // Existing playlist content: track added to /removed from playlist or playlist being overwritten
+ };
+
+/*
+ * Simple structure to hold collection change event
+ */
+NONSHARABLE_STRUCT(TMPXCollectionChangeEvent)
+ {
+ TUid iCollectionId;
+ TMPXItemId iItemId;
+ TMPXCollectionChangeType iChangeType;
+ };
+
+enum TMPXCollectionPathChangeType
+ {
+ EMcPathChangedByOpen = 0, // path changed due to after OpenL called
+ EMcPathChangedByCollectionChange // path changed due to collection content change
+ };
+
+enum TMPXCollectionOpenEntry
+ {
+ EMcItemOpened = 0,
+ EMcContainerOpened
+ };
+
+enum TMPXCollectionType
+ {
+ EMcUnknown = 0x00,
+ EMcLocal = 0x01,
+ EMcRemote = 0x02
+ };
+
+enum TMPXCollectionCommand
+ {
+ EMcCmdClose,
+ EMcCmdRefresh,
+ EMcCmdRemoveAll, // delete all items from db,
+ // aData = collection id to remove all
+ EMcCloseCollection,
+ EMcReOpenCollection,
+ EMcRefreshStarted,
+ EMcRefreshEnded,
+ EMcCmdReCreateDB,
+ EMcCmdSelect, // aData = index of focused item
+ EMcCmdDbCorrupted,
+ EMcCmdCollectionInit,
+ EMcCmdCollectionResyn,
+ EMcCmdMtpStart,
+ EMcCmdMtpEnd
+ };
+
+enum TMPXCollectionBroadCastMsg
+ {
+ // This should be a 1:1 mapping to harvester events
+ // for easy conversion
+ // check mpxharvestercommon.h
+ //
+ EMcMsgFormatStart,
+ EMcMsgFormatEnd,
+ EMcMsgDiskRemoved,
+ EMcMsgDiskInserted,
+ EMcMsgUSBMassStorageStart,
+ EMcMsgUSBMassStorageEnd,
+ EMcMsgUSBMTPStart,
+ EMcMsgUSBMTPEnd,
+ EMcMsgUSBMTPNotActive,
+ EMcMsgSystemEventMax,
+ EMcMsgRefreshStart,
+ EMcMsgRefreshEnd
+ };
+
+// Server function codes
+enum TMPXCollectionServerOp
+ {
+ EMcsGetNextMessage, // 0 Get next message, must be 0
+ EMcsCancelGetMessage, // 1 Cancel get message, must be 1
+ EMcsSetMode, // 2 Must be called before any following op
+ EMcsOpen, // 3
+ EMcsOpenIndex, // 4
+ EMcsOpenPath, // 5
+ EMcsGetUid, // 6 Get uid of collection opened
+ EMcsGetPath, // 7
+ EMcsBack, // 8
+ EMcsGetSyncBuffer, // 9 Read buffer of last sync request
+ EMcsGetAsyncBuffer, // 10 Read buffer of last async request
+ EMcsMedia, // 11 media for current path
+ EMcsMediaByPath, // 12 media by path.
+ EMcsAddItem, // 13 Add an item
+ EMcsRemovePath, // 14 Remove a collection path
+ EMcsRemoveItem, // 15 Remove a CMPXMedia
+ EMcsSetMedia, // 16 Set a media properties
+ EMcsFindAll, // 17 Find command
+ EMcsNotifyEvent, // 18 Notify an event
+ EMcsGetSupportedTypes, // 19 Get supported Types
+ EMcsCancelRequest, // 20
+ EMcsGetCapabilities, // 21 Find the capabilities of loaded plugin
+ EMcsCollectionID, // 22 Get Collection implementation ID
+ EMcsCommand, // 23 Depricated: send a command to the server, with TInt parameter
+ EMcsSetMediaAsync, // 24 SetMediaL, Asynchronus SetL()
+ EMcsCommandExt, // 25 Send a command to the server, with CMPXMedia-based parameter
+ EMcsFilter, // 26 Get the current filter
+ EMcsSetFilter, // 27 Set the filter
+ EMcsOpenByUids, // 28 Open a list of plugins which match uids.
+ EMcsCollectionIdLookup, // 29 Collection id lookup
+ EMcsServerOpEnd // 30 End of operation,
+ };
+
+// Define Collection capability as an int, can expand later
+typedef TInt TCollectionCapability;
+enum
+ {
+ EMcSearch = 0x01, // Supports search
+ EMcSearchWildCard = 0x02, // Supports wildcard search
+ EMcNotModifiable = 0x04 // Unmodifiable collection (ie UPNP)
+ };
+
+//to indicate object type
+const TInt KMPXPathUpdated = 2;
+const TInt KMPXCollectionPath = 3;
+const TInt KMPXCollectionEntries = 4;
+const TInt KMPXCollectionMedia = 5;
+
+// Abstract UID definition for a "collection"
+// The collection server can resolve the real collection UID based on this
+//
+const TUid KLocalCollection = {0x101FFB30};
+const TUid KPodcastCollection = {0x101FFB31};
+const TUid KInMemoryCollection = {0x101FFCD7};
+
+#endif // MPXCOLLECTIONFRAMEWORKDEFS_H
+