diff -r 3785f754ee62 -r 5360b7ddc251 upnpavcontroller/upnpavcontrollerhelper/inc/upnpconstantdefs.h --- a/upnpavcontroller/upnpavcontrollerhelper/inc/upnpconstantdefs.h Fri Sep 17 08:31:21 2010 +0300 +++ b/upnpavcontroller/upnpavcontrollerhelper/inc/upnpconstantdefs.h Mon Nov 01 12:37:49 2010 +0200 @@ -1,321 +1,322 @@ -/* -* Copyright (c) 2006-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: UPnP Object-related constant definitions -* -*/ - - - - - - -// System includes -#include - -// *************************************************** -// * Upnp interface is full of constants that come -// * directly from upnp specifications. This file -// * contains some most commonly used definitions -// * for your comfort. -// *************************************************** - - - -// *************************************************** -// * Classes -// * -// * Note: when comparing object class, the class -// * constant MUST be found in beginning: -// * -// * if ( object.ObjectClass().Find( KClassContainer ) == 0 ) -// * { ... -// * -// * -// *************************************************** - -// item. This means the object represents something -// rather than containing child objects -_LIT8( KClassItem, "object.item" ); - -// the item represents an image media -_LIT8( KClassImage, "object.item.imageItem" ); - -// the item represents a video media -_LIT8( KClassVideo, "object.item.videoItem" ); - -// the item represents an audio media -_LIT8( KClassAudio, "object.item.audioItem" ); - -// the item represents a music track -_LIT8( KClassAudioMusicTrack, "object.item.audioItem.musicTrack" ); - -// the object is a container that can contain child objects -_LIT8( KClassContainer, "object.container" ); - -// container that represents a playlist -_LIT8( KClassPlaylist, "object.container.playlistContainer" ); - -// container that represents an album of music tracks -_LIT8( KClassAlbum, "object.container.album.musicAlbum" ); - -// container that represents a generic media storage -_LIT8( KClassStorage, "object.container.storageFolder" ); - - - -// *************************************************** -// * Elements -// * -// * Use these when finding an apropriate element -// * within an object. Useful with 2 helper utility -// * functions: -// * -// * const CUpnpElement* e = UPnPCommonUtils:: -// * FindElementByName( object, KElementDate ); -// * if ( e ) { -// * const TDesC& d = e->Value(); -// * ... -// * -// * const TDesC8& d = UPnPCommonUtils:: -// * FindElementByNameL( object, KElementDate ).Value(); -// * -// * The former is useful if we are not sure if the -// * element exists, the latter if the element MUST -// * exist to proceed. -// * -// *************************************************** - -// The title. Mandatory for all objects. -_LIT8( KElementTitle, "dc:title" ); - -// The class. Mandatory for all objects. -_LIT8( KElementClass, "upnp:class" ); - -// media timestamp. In DLNA mandatory for images and videos -_LIT8( KElementDate, "dc:date" ); - -// Creator of the media. In DLNA mandatory for music tracks and albums -_LIT8( KElementCreator, "dc:creator" ); - -// The artist. De facto standard in upnp, but not mandatory. -// could be understood as an alias to dc:creator -_LIT8( KElementArtist, "upnp:artist"); - -// Album this media belongs to. in DLNA mandatory for audio tracks -_LIT8( KElementAlbum, "upnp:album"); - -// Genre. in DLNA mandatory for audio and video -_LIT8( KElementGenre, "upnp:genre"); - -// The res element. Defines the resource of the item. -_LIT8( KElementRes, "res"); - -// The SortCriteria, Search by default -_LIT8( KSortCriteria, "+dc:title"); - -// The albumArtURI -_LIT8( KElementAlbumArtUri, "upnp:albumArtURI"); - -// Song track number -_LIT8( KElementTrackNumber, "upnp:originalTrackNumber"); - - -// *************************************************** -// * Element attributes -// * -// * Use these when finding an attribute within an -// * element. -// * -// * const CUpnpElement& resource = UPnPCommonUtils -// * ::ResourceFromItemL( object ); -// * const TDesC8& size = UPnPCommonUtils -// * ::FindAttributeByNameL( resource, KAttributeSize ) -// * .Value(); -// * const TDesC8& duration = UPnPCommonUtils -// * ::FindAttributeByNameL( resource, KAttributeDuration ) -// * .Value(); -// * -// *************************************************** - -// attribute of RES element -// media size in bytes. Used for all media. -_LIT8( KAttributeSize, "size" ); - -// attribute of RES element -// image resolution: "x", example "1024x768" -// used for images and video. -_LIT8( KAttributeResolution, "resolution" ); - -// attribute of RES element -// song duration, "hh:mm:ss.yyy", example "00:03:15.000" -// used for audio and video -_LIT8( KAttributeDuration, "duration" ); - -// attribute of RES element -// UPNP and DLNA specific technical data -_LIT8( KAttributeProtocolInfo, "protocolInfo" ); - -// attribute of RES element -// bitrate. used in -_LIT8( KAttributeBitrate, "bitrate" ); - - - -// *************************************************** -// * Filters and sorting -// * -// * Pre-defined constants for browse or search. -// * The filters determine which elements the remote -// * server is adding into the response. Querying -// * only the required elements will speed up the -// * application. -// * -// * Sort criteria defines the order of returned -// * elements. -// * -// * iBs->BrowseL( _L("0"), KFilterFull, -// * MUPnPAVBrowsingSession::EDirectChildren, -// * 0, 100, KSortNone ); -// * -// *************************************************** - -// full filter, returns everything -_LIT8( KFilterFull, "*" ); - -// filter only minimum data (object id) -_LIT8( KFilterMin, "" ); - -// filter only object key data and title -_LIT8( KFilterTitle, "dc:title" ); - -// Filter most commonly used and mandatory DLNA field -_LIT8( KFilterCommon, "dc:title,dc:date,dc:creator," - "upnp:originalTrackNumber," - "upnp:album,upnp:artist,upnp:genre,upnp:albumArtURI," - "res,res@size,res@duration" ); - -// sort criteria: let server decide -_LIT8( KSortNone, "" ); - -// sort criteria: sort by object title -_LIT8( KSortTitle, "dc:title" ); - - - - -// *************************************************** -// * Constant container ID's -// * -// * Some container ID's are defined as constants -// * and have special meaning. -// * -// * Root container: the container that recursively -// * contains all other containers. This container -// * is not contained in any other container. -// * -// * Any container: used when addressing a remote -// * container. Lets the remote mediaserver decide -// * an apropriate container. -// * -// *************************************************** - -// the root container -_LIT8( KContainerIdRoot, "0" ); - -// Anycontainer -_LIT8( KContainerIdAny, "DLNA.ORG_AnyContainer" ); - - - -// *************************************************** -// * Constructing search criteria -// * -// * Some useful constants that are used in generating -// * search criteria fields -// * -// * Please see UPnP specifications for more details -// * -// *************************************************** - -// searches for elements that contain given partial string -_LIT8( KCriteriaContains, "contains" ); - -// searches for classes or any child classes of given class -_LIT8( KCriteriaDerivedFrom, "derivedfrom" ); - -// searches for classes where an element exists -_LIT8( KCriteriaExists, "exists" ); - -// negates the boolean operator -_LIT8( KCriteriaFalse, "false" ); - -// logical AND -_LIT8( KCriteriaAnd, "and" ); - -// logical OR -_LIT8( KCriteriaOr, "or" ); - -// logical comparision -_LIT8( KCriteriaEQ, "=" ); -_LIT8( KCriteriaNEQ, "!=" ); -_LIT8( KCriteriaGT, ">" ); -_LIT8( KCriteriaLT, "<" ); -_LIT8( KCriteriaGTE, ">=" ); -_LIT8( KCriteriaLTE, "<=" ); -_LIT8( KCriteriaOB, "(" ); -_LIT8( KCriteriaCB, ")" ); - -// other useful for filling up the strings -_LIT8( KCriteriaQuot, "\"" ); -_LIT8( KCriteriaSpace, " " ); - - - -// *************************************************** -// * DLNA Transfer modes -// * -// * Please see DLNA specifications for more details -// *************************************************** -_LIT8( KTransferMode, "transferMode.dlna.org" ); -_LIT8( KBackgroundMode, "Background" ); -_LIT8( KStreamingMode, "Streaming" ); -_LIT8( KInteractiveMode, "Interactive" ); - - -// *************************************************** -// * DLNA Content headers -// * -// * Please see DLNA specifications for more details -// *************************************************** -_LIT8( KContentType, "Content-Type" ); -_LIT8( KContentFeatures, "contentFeatures.dlna.org" ); - - -// *************************************************** -// * DLNA headers misc. -// * -// * Please see DLNA specifications for more details -// *************************************************** -_LIT8( KExpectHeader, "Expect" ); -_LIT8( K100Continue, "100-continue" ); - - -// *************************************************** -// * Misc -// * -// *************************************************** - -// attribute value - not implemented or not supported -_LIT8( KValueNotImplemented, "NOT_IMPLEMENTED" ); - +/* +* Copyright (c) 2006-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: UPnP Object-related constant definitions +* +*/ + + + + + + +// System includes +#include + +// *************************************************** +// * Upnp interface is full of constants that come +// * directly from upnp specifications. This file +// * contains some most commonly used definitions +// * for your comfort. +// *************************************************** + + + +// *************************************************** +// * Classes +// * +// * Note: when comparing object class, the class +// * constant MUST be found in beginning: +// * +// * if ( object.ObjectClass().Find( KClassContainer ) == 0 ) +// * { ... +// * +// * +// *************************************************** + +// item. This means the object represents something +// rather than containing child objects +_LIT8( KClassItem, "object.item" ); + +// the item represents an image media +_LIT8( KClassImage, "object.item.imageItem" ); + +// the item represents a video media +_LIT8( KClassVideo, "object.item.videoItem" ); + +// the item represents an audio media +_LIT8( KClassAudio, "object.item.audioItem" ); + +// the item represents a music track +_LIT8( KClassAudioMusicTrack, "object.item.audioItem.musicTrack" ); + +// the object is a container that can contain child objects +_LIT8( KClassContainer, "object.container" ); + +// container that represents a playlist +_LIT8( KClassPlaylist, "object.container.playlistContainer" ); + +// container that represents an album of music tracks +_LIT8( KClassAlbum, "object.container.album.musicAlbum" ); + +// container that represents a generic media storage +_LIT8( KClassStorage, "object.container.storageFolder" ); + + + +// *************************************************** +// * Elements +// * +// * Use these when finding an apropriate element +// * within an object. Useful with 2 helper utility +// * functions: +// * +// * const CUpnpElement* e = UPnPCommonUtils:: +// * FindElementByName( object, KElementDate ); +// * if ( e ) { +// * const TDesC& d = e->Value(); +// * ... +// * +// * const TDesC8& d = UPnPCommonUtils:: +// * FindElementByNameL( object, KElementDate ).Value(); +// * +// * The former is useful if we are not sure if the +// * element exists, the latter if the element MUST +// * exist to proceed. +// * +// *************************************************** + +// The title. Mandatory for all objects. +_LIT8( KElementTitle, "dc:title" ); + +// The class. Mandatory for all objects. +_LIT8( KElementClass, "upnp:class" ); + +// media timestamp. In DLNA mandatory for images and videos +_LIT8( KElementDate, "dc:date" ); + +// Creator of the media. In DLNA mandatory for music tracks and albums +_LIT8( KElementCreator, "dc:creator" ); + +// The artist. De facto standard in upnp, but not mandatory. +// could be understood as an alias to dc:creator +_LIT8( KElementArtist, "upnp:artist"); + +// Album this media belongs to. in DLNA mandatory for audio tracks +_LIT8( KElementAlbum, "upnp:album"); + +// Genre. in DLNA mandatory for audio and video +_LIT8( KElementGenre, "upnp:genre"); + +// The res element. Defines the resource of the item. +_LIT8( KElementRes, "res"); + +// The SortCriteria, Search by default +_LIT8( KSortCriteria, "+dc:title"); + +// The albumArtURI +_LIT8( KElementAlbumArtUri, "upnp:albumArtURI"); + +// Song track number +_LIT8( KElementTrackNumber, "upnp:originalTrackNumber"); + + +// *************************************************** +// * Element attributes +// * +// * Use these when finding an attribute within an +// * element. +// * +// * const CUpnpElement& resource = UPnPCommonUtils +// * ::ResourceFromItemL( object ); +// * const TDesC8& size = UPnPCommonUtils +// * ::FindAttributeByNameL( resource, KAttributeSize ) +// * .Value(); +// * const TDesC8& duration = UPnPCommonUtils +// * ::FindAttributeByNameL( resource, KAttributeDuration ) +// * .Value(); +// * +// *************************************************** + +// attribute of RES element +// media size in bytes. Used for all media. +_LIT8( KAttributeSize, "size" ); + +// attribute of RES element +// image resolution: "x", example "1024x768" +// used for images and video. +_LIT8( KAttributeResolution, "resolution" ); + +// attribute of RES element +// song duration, "hh:mm:ss.yyy", example "00:03:15.000" +// used for audio and video +_LIT8( KAttributeDuration, "duration" ); + +// attribute of RES element +// UPNP and DLNA specific technical data +_LIT8( KAttributeProtocolInfo, "protocolInfo" ); + +// attribute of RES element +// bitrate. used in +_LIT8( KAttributeBitrate, "bitrate" ); + +// attribute for album art element +_LIT8( KAttributeProfileId, "dlna:profileID" ); + +// *************************************************** +// * Filters and sorting +// * +// * Pre-defined constants for browse or search. +// * The filters determine which elements the remote +// * server is adding into the response. Querying +// * only the required elements will speed up the +// * application. +// * +// * Sort criteria defines the order of returned +// * elements. +// * +// * iBs->BrowseL( _L("0"), KFilterFull, +// * MUPnPAVBrowsingSession::EDirectChildren, +// * 0, 100, KSortNone ); +// * +// *************************************************** + +// full filter, returns everything +_LIT8( KFilterFull, "*" ); + +// filter only minimum data (object id) +_LIT8( KFilterMin, "" ); + +// filter only object key data and title +_LIT8( KFilterTitle, "dc:title" ); + +// Filter most commonly used and mandatory DLNA field +_LIT8( KFilterCommon, "dc:title,dc:date,dc:creator," + "upnp:originalTrackNumber," + "upnp:album,upnp:artist,upnp:genre,upnp:albumArtURI," + "res,res@size,res@duration" ); + +// sort criteria: let server decide +_LIT8( KSortNone, "" ); + +// sort criteria: sort by object title +_LIT8( KSortTitle, "dc:title" ); + + + + +// *************************************************** +// * Constant container ID's +// * +// * Some container ID's are defined as constants +// * and have special meaning. +// * +// * Root container: the container that recursively +// * contains all other containers. This container +// * is not contained in any other container. +// * +// * Any container: used when addressing a remote +// * container. Lets the remote mediaserver decide +// * an apropriate container. +// * +// *************************************************** + +// the root container +_LIT8( KContainerIdRoot, "0" ); + +// Anycontainer +_LIT8( KContainerIdAny, "DLNA.ORG_AnyContainer" ); + + + +// *************************************************** +// * Constructing search criteria +// * +// * Some useful constants that are used in generating +// * search criteria fields +// * +// * Please see UPnP specifications for more details +// * +// *************************************************** + +// searches for elements that contain given partial string +_LIT8( KCriteriaContains, "contains" ); + +// searches for classes or any child classes of given class +_LIT8( KCriteriaDerivedFrom, "derivedfrom" ); + +// searches for classes where an element exists +_LIT8( KCriteriaExists, "exists" ); + +// negates the boolean operator +_LIT8( KCriteriaFalse, "false" ); + +// logical AND +_LIT8( KCriteriaAnd, "and" ); + +// logical OR +_LIT8( KCriteriaOr, "or" ); + +// logical comparision +_LIT8( KCriteriaEQ, "=" ); +_LIT8( KCriteriaNEQ, "!=" ); +_LIT8( KCriteriaGT, ">" ); +_LIT8( KCriteriaLT, "<" ); +_LIT8( KCriteriaGTE, ">=" ); +_LIT8( KCriteriaLTE, "<=" ); +_LIT8( KCriteriaOB, "(" ); +_LIT8( KCriteriaCB, ")" ); + +// other useful for filling up the strings +_LIT8( KCriteriaQuot, "\"" ); +_LIT8( KCriteriaSpace, " " ); + + + +// *************************************************** +// * DLNA Transfer modes +// * +// * Please see DLNA specifications for more details +// *************************************************** +_LIT8( KTransferMode, "transferMode.dlna.org" ); +_LIT8( KBackgroundMode, "Background" ); +_LIT8( KStreamingMode, "Streaming" ); +_LIT8( KInteractiveMode, "Interactive" ); + + +// *************************************************** +// * DLNA Content headers +// * +// * Please see DLNA specifications for more details +// *************************************************** +_LIT8( KContentType, "Content-Type" ); +_LIT8( KContentFeatures, "contentFeatures.dlna.org" ); + + +// *************************************************** +// * DLNA headers misc. +// * +// * Please see DLNA specifications for more details +// *************************************************** +_LIT8( KExpectHeader, "Expect" ); +_LIT8( K100Continue, "100-continue" ); + + +// *************************************************** +// * Misc +// * +// *************************************************** + +// attribute value - not implemented or not supported +_LIT8( KValueNotImplemented, "NOT_IMPLEMENTED" ); +