CdsItemExternalURL Class Reference

An item that is accessible via a URL. More...

#include <cds_objects.h>

Inheritance diagram for CdsItemExternalURL:
CdsItem CdsObject zmm::Object CdsItemInternalURL

Public Member Functions

 CdsItemExternalURL ()
 Constructor, sets the object type.
void setURL (zmm::String URL)
 Sets the URL for the item.
zmm::String getURL ()
 Get the URL of the item.
virtual void validate ()
 Copies all object properties to another object.
void setMimeType (zmm::String mimeType)
 Set mime-type information of the media.
zmm::String getMimeType ()
 Query mime-type information.
void setTrackNumber (int trackNumber)
 Sets the upnp:originalTrackNumber property.
int getTrackNumber ()
virtual void copyTo (zmm::Ref< CdsObject > obj)
 Copies all object properties to another object.
virtual void copyTo (zmm::Ref< CdsObject > obj)
 Copies all object properties to another object.
virtual int equals (zmm::Ref< CdsObject > obj, bool exactly=false)
 Checks if current object is equal to obj.
virtual int equals (zmm::Ref< CdsObject > obj, bool exactly=false)
 Checks if current object is equal to obj.
virtual zmm::String getVirtualPath ()
 Returns the path to the object as it appears in the database tree.
void setServiceID (zmm::String serviceID)
 Set the unique service ID.
zmm::String getServiceID ()
 Retrieve the unique service ID.
void setID (int id)
 Set the object ID.
int getID ()
 Retrieve the object ID.
void setRefID (int refID)
 Set the reference object ID.
int getRefID ()
 Retrieve the reference object ID.
void setParentID (int parentID)
 Set the parent ID of the object.
int getParentID ()
 Retrieve the objects parent ID.
void setRestricted (bool restricted)
 Set the restricted flag.
bool isRestricted ()
 Query the restricted flag.
void setTitle (zmm::String title)
 Set the object title (dc:title).
zmm::String getTitle ()
 Retrieve the title.
void setClass (zmm::String upnpClass)
 set the upnp:class
zmm::String getClass ()
 Retrieve class.
void setLocation (zmm::String location)
 Set the physical location of the media (usually an absolute path).
zmm::String getLocation ()
 Retrieve media location.
void setVirtual (bool virt)
 Set the virtual flag.
bool isVirtual ()
 Query the virtual flag.
unsigned int getObjectType ()
 Query information on object type: item, container, etc.
int getSortPriority ()
 Retrive sort priority setting.
void setSortPriority (int sortPriority)
 Set the sort prioroty of an object.
unsigned int getFlags ()
 Get flags of an object.
unsigned int getFlag (unsigned int mask)
 Get a flag of an object.
void setFlags (unsigned int objectFlags)
 Set flags for the object.
void setFlag (unsigned int mask)
 Set a flag of the object.
void changeFlag (unsigned int mask, bool value)
 Set a flag of the object.
void clearFlag (unsigned int mask)
 Clears a flag of the object.
zmm::String getMetadata (zmm::String key)
 Query single metadata value.
zmm::Ref< DictionarygetMetadata ()
 Query entire metadata dictionary.
void setMetadata (zmm::Ref< Dictionary > metadata)
 Set entire metadata dictionary.
void setMetadata (zmm::String key, zmm::String value)
 Set a single metadata value.
void removeMetadata (zmm::String key)
 Removes metadata with the given key.
zmm::String getAuxData (zmm::String key)
 Query single auxdata value.
zmm::Ref< DictionarygetAuxData ()
 Query entire auxdata dictionary.
void setAuxData (zmm::String key, zmm::String value)
 Set a single auxdata value.
void setAuxData (zmm::Ref< Dictionary > auxdata)
 Set entire auxdata dictionary.
void removeAuxData (zmm::String key)
 Removes auxdata with the given key.
int getResourceCount ()
 Get number of resource tags.
zmm::Ref< zmm::Array
< CdsResource > > 
getResources ()
 Query resources.
void setResources (zmm::Ref< zmm::Array< CdsResource > > res)
 Set resources.
zmm::Ref< CdsResourcegetResource (int index)
 Query resource tag with the given index.
void addResource (zmm::Ref< CdsResource > resource)
 Add resource tag.
void insertResource (int index, zmm::Ref< CdsResource > resource)
 Insert resource tag at index.
int resourcesEqual (zmm::Ref< CdsObject > obj)
 Checks if current object has the same resources as obj.
void optimize ()
 Frees unnecessary memory.
void retain ()
void release ()
int getRefCount ()

Static Public Member Functions

static zmm::Ref< CdsObjectcreateObject (unsigned int objectType)
static zmm::String mapObjectType (int objectType)
static int remapObjectType (zmm::String objectType)
static void * operator new (size_t size)
static void operator delete (void *ptr)

Protected Attributes

zmm::String mimeType
 mime-type of the media.
int trackNumber
zmm::String serviceID
 unique service ID
int id
 ID of the object in the content directory.
int refID
 ID of the referenced object.
int parentID
 ID of the object's parent.
zmm::String title
 dc:title
zmm::String upnpClass
 upnp:class
zmm::String location
 Physical location of the media.
int virt
 virtual object flag
unsigned int objectType
 type of the object: item, container, etc.
unsigned int objectFlags
 field which can hold various flags for the object
int sortPriority
 flag that allows to sort objects within a container
zmm::Ref< Dictionarymetadata
zmm::Ref< Dictionaryauxdata
zmm::Ref< zmm::Array
< CdsResource > > 
resources
mt_atomic_t _ref_count
pthread_mutex_t mutex

Friends

int CdsObjectTitleComparator (void *arg1, void *arg2)

Detailed Description

An item that is accessible via a URL.

Definition at line 415 of file cds_objects.h.


Constructor & Destructor Documentation

CdsItemExternalURL::CdsItemExternalURL (  ) 

Member Function Documentation

void CdsObject::addResource ( zmm::Ref< CdsResource resource  )  [inline, inherited]

Add resource tag.

Definition at line 260 of file cds_objects.h.

References CdsObject::resources.

void CdsObject::changeFlag ( unsigned int  mask,
bool  value 
) [inline, inherited]

Set a flag of the object.

Definition at line 199 of file cds_objects.h.

References CdsObject::clearFlag(), and CdsObject::setFlag().

Referenced by CdsObject::setRestricted(), and CdsContainer::setSearchable().

void CdsObject::clearFlag ( unsigned int  mask  )  [inline, inherited]

Clears a flag of the object.

Definition at line 202 of file cds_objects.h.

References CdsObject::objectFlags.

Referenced by CdsObject::changeFlag().

void CdsObject::copyTo ( zmm::Ref< CdsObject obj  )  [virtual, inherited]

Copies all object properties to another object.

Parameters:
obj target object (clone)

Definition at line 57 of file cds_objects.cc.

References CdsObject::auxdata, CdsObject::location, CdsObject::metadata, CdsObject::objectFlags, CdsObject::parentID, CdsObject::refID, CdsObject::resources, CdsObject::sortPriority, CdsObject::title, CdsObject::upnpClass, and CdsObject::virt.

void CdsItem::copyTo ( zmm::Ref< CdsObject obj  )  [virtual, inherited]

Copies all object properties to another object.

Parameters:
obj target object (clone)

Reimplemented in CdsActiveItem.

Definition at line 168 of file cds_objects.cc.

References IS_CDS_ITEM, CdsItem::mimeType, RefCast, CdsItem::serviceID, and CdsItem::trackNumber.

Ref< CdsObject > CdsObject::createObject ( unsigned int  objectType  )  [static, inherited]
int CdsObject::equals ( zmm::Ref< CdsObject obj,
bool  exactly = false 
) [virtual, inherited]

Checks if current object is equal to obj.

Parameters:
obj object to check against
exactly tells to check really everything or only the "public" version

The difference between setting this flag to true or false is following: exactly=true checks all fields, also internal ones, exactly=false checks only the fields that will be visible in DIDL-Lite

Definition at line 73 of file cds_objects.cc.

References CdsObject::auxdata, CdsObject::isRestricted(), CdsObject::location, CdsObject::metadata, CdsObject::objectFlags, CdsObject::parentID, CdsObject::resourcesEqual(), CdsObject::sortPriority, CdsObject::title, CdsObject::upnpClass, and CdsObject::virt.

Referenced by CdsContainer::equals(), and CdsItem::equals().

int CdsItem::equals ( zmm::Ref< CdsObject obj,
bool  exactly = false 
) [virtual, inherited]

Checks if current object is equal to obj.

See description for CdsObject::equals() for details.

Reimplemented in CdsActiveItem.

Definition at line 179 of file cds_objects.cc.

References CdsObject::equals(), CdsItem::mimeType, RefCast, CdsItem::serviceID, and CdsItem::trackNumber.

Referenced by CdsActiveItem::equals().

zmm::Ref<Dictionary> CdsObject::getAuxData (  )  [inline, inherited]

Query entire auxdata dictionary.

Definition at line 229 of file cds_objects.h.

References CdsObject::auxdata.

zmm::String CdsObject::getAuxData ( zmm::String  key  )  [inline, inherited]

Query single auxdata value.

Definition at line 225 of file cds_objects.h.

References CdsObject::auxdata.

zmm::String CdsObject::getClass (  )  [inline, inherited]

Retrieve class.

Definition at line 163 of file cds_objects.h.

References CdsObject::upnpClass.

unsigned int CdsObject::getFlag ( unsigned int  mask  )  [inline, inherited]

Get a flag of an object.

Definition at line 190 of file cds_objects.h.

References CdsObject::objectFlags.

Referenced by CdsObject::isRestricted(), and CdsContainer::isSearchable().

unsigned int CdsObject::getFlags (  )  [inline, inherited]

Get flags of an object.

Definition at line 187 of file cds_objects.h.

References CdsObject::objectFlags.

int CdsObject::getID (  )  [inline, inherited]

Retrieve the object ID.

ID is the object ID that is used by the UPnP Content Directory service.

Definition at line 127 of file cds_objects.h.

References CdsObject::id.

Referenced by CdsContainer::getVirtualPath().

zmm::String CdsObject::getLocation (  )  [inline, inherited]

Retrieve media location.

Definition at line 169 of file cds_objects.h.

References CdsObject::location.

Referenced by CdsContainer::getVirtualPath().

zmm::Ref<Dictionary> CdsObject::getMetadata (  )  [inline, inherited]

Query entire metadata dictionary.

Definition at line 209 of file cds_objects.h.

References CdsObject::metadata.

zmm::String CdsObject::getMetadata ( zmm::String  key  )  [inline, inherited]

Query single metadata value.

Definition at line 205 of file cds_objects.h.

References CdsObject::metadata.

zmm::String CdsItem::getMimeType (  )  [inline, inherited]

Query mime-type information.

Definition at line 321 of file cds_objects.h.

References CdsItem::mimeType.

unsigned int CdsObject::getObjectType (  )  [inline, inherited]

Query information on object type: item, container, etc.

Definition at line 178 of file cds_objects.h.

References CdsObject::objectType.

int CdsObject::getParentID (  )  [inline, inherited]

Retrieve the objects parent ID.

Definition at line 145 of file cds_objects.h.

References CdsObject::parentID.

Referenced by CdsItem::getVirtualPath().

int Object::getRefCount (  )  [inherited]

Definition at line 78 of file object.cc.

References zmm::Object::_ref_count, and atomic_get().

int CdsObject::getRefID (  )  [inline, inherited]

Retrieve the reference object ID.

This is the reference ID that is used by the UPnP Content Directory service. It also links the reference and the original objects in the database.

Definition at line 139 of file cds_objects.h.

References CdsObject::refID.

zmm::Ref<CdsResource> CdsObject::getResource ( int  index  )  [inline, inherited]

Query resource tag with the given index.

Definition at line 256 of file cds_objects.h.

References CdsObject::resources.

int CdsObject::getResourceCount (  )  [inline, inherited]

Get number of resource tags.

Definition at line 245 of file cds_objects.h.

References CdsObject::resources.

zmm::Ref<zmm::Array<CdsResource> > CdsObject::getResources (  )  [inline, inherited]

Query resources.

Definition at line 248 of file cds_objects.h.

References CdsObject::resources.

zmm::String CdsItem::getServiceID (  )  [inline, inherited]

Retrieve the unique service ID.

Definition at line 346 of file cds_objects.h.

References CdsItem::serviceID.

int CdsObject::getSortPriority (  )  [inline, inherited]

Retrive sort priority setting.

Definition at line 181 of file cds_objects.h.

References CdsObject::sortPriority.

zmm::String CdsObject::getTitle (  )  [inline, inherited]

Retrieve the title.

Definition at line 157 of file cds_objects.h.

References CdsObject::title.

Referenced by CdsItem::getVirtualPath().

int CdsItem::getTrackNumber (  )  [inline, inherited]

Definition at line 326 of file cds_objects.h.

References CdsItem::trackNumber.

zmm::String CdsItemExternalURL::getURL (  )  [inline]

Get the URL of the item.

Definition at line 427 of file cds_objects.h.

References CdsObject::location.

String CdsItem::getVirtualPath (  )  [virtual, inherited]

Returns the path to the object as it appears in the database tree.

Implements CdsObject.

Definition at line 357 of file cds_objects.cc.

References _, _Exception, Storage::getInstance(), CdsObject::getParentID(), CdsObject::getTitle(), CdsObject::location, and string_ok().

void CdsObject::insertResource ( int  index,
zmm::Ref< CdsResource resource 
) [inline, inherited]

Insert resource tag at index.

Definition at line 264 of file cds_objects.h.

References CdsObject::resources.

bool CdsObject::isRestricted (  )  [inline, inherited]

Query the restricted flag.

Definition at line 151 of file cds_objects.h.

References CdsObject::getFlag(), and OBJECT_FLAG_RESTRICTED.

Referenced by CdsObject::equals().

bool CdsObject::isVirtual (  )  [inline, inherited]

Query the virtual flag.

Definition at line 175 of file cds_objects.h.

References CdsObject::virt.

Referenced by CdsContainer::getVirtualPath().

String CdsObject::mapObjectType ( int  objectType  )  [static, inherited]
void Object::operator delete ( void *  ptr  )  [static, inherited]

Definition at line 87 of file object.cc.

References FREE.

void * Object::operator new ( size_t  size  )  [static, inherited]

Definition at line 83 of file object.cc.

References MALLOC.

void CdsObject::optimize (  )  [inherited]

Frees unnecessary memory.

Definition at line 315 of file cds_objects.cc.

References CdsObject::auxdata, CdsObject::metadata, and CdsObject::resources.

void Object::release (  )  [inherited]
int CdsObject::remapObjectType ( zmm::String  objectType  )  [static, inherited]
void CdsObject::removeAuxData ( zmm::String  key  )  [inline, inherited]

Removes auxdata with the given key.

Definition at line 240 of file cds_objects.h.

References CdsObject::auxdata.

void CdsObject::removeMetadata ( zmm::String  key  )  [inline, inherited]

Removes metadata with the given key.

Definition at line 220 of file cds_objects.h.

References CdsObject::metadata.

int CdsObject::resourcesEqual ( zmm::Ref< CdsObject obj  )  [inherited]

Checks if current object has the same resources as obj.

Parameters:
obj object to check against

Definition at line 101 of file cds_objects.cc.

References CdsObject::resources.

Referenced by CdsObject::equals().

void Object::retain (  )  [inherited]
void CdsObject::setAuxData ( zmm::Ref< Dictionary auxdata  )  [inline, inherited]

Set entire auxdata dictionary.

Definition at line 236 of file cds_objects.h.

void CdsObject::setAuxData ( zmm::String  key,
zmm::String  value 
) [inline, inherited]

Set a single auxdata value.

Definition at line 232 of file cds_objects.h.

References CdsObject::auxdata.

void CdsObject::setClass ( zmm::String  upnpClass  )  [inline, inherited]

set the upnp:class

Definition at line 160 of file cds_objects.h.

void CdsObject::setFlag ( unsigned int  mask  )  [inline, inherited]

Set a flag of the object.

Definition at line 196 of file cds_objects.h.

References CdsObject::objectFlags.

Referenced by CdsObject::changeFlag().

void CdsObject::setFlags ( unsigned int  objectFlags  )  [inline, inherited]

Set flags for the object.

Definition at line 193 of file cds_objects.h.

void CdsObject::setID ( int  id  )  [inline, inherited]

Set the object ID.

ID is the object ID that is used by the UPnP Content Directory service.

Definition at line 122 of file cds_objects.h.

void CdsObject::setLocation ( zmm::String  location  )  [inline, inherited]

Set the physical location of the media (usually an absolute path).

Definition at line 166 of file cds_objects.h.

void CdsObject::setMetadata ( zmm::String  key,
zmm::String  value 
) [inline, inherited]

Set a single metadata value.

Definition at line 216 of file cds_objects.h.

References CdsObject::metadata.

void CdsObject::setMetadata ( zmm::Ref< Dictionary metadata  )  [inline, inherited]

Set entire metadata dictionary.

Definition at line 212 of file cds_objects.h.

void CdsItem::setMimeType ( zmm::String  mimeType  )  [inline, inherited]

Set mime-type information of the media.

Definition at line 318 of file cds_objects.h.

void CdsObject::setParentID ( int  parentID  )  [inline, inherited]

Set the parent ID of the object.

Definition at line 142 of file cds_objects.h.

void CdsObject::setRefID ( int  refID  )  [inline, inherited]

Set the reference object ID.

This is the reference ID that is used by the UPnP Content Directory service. It also links the reference and the original objects in the database.

Definition at line 133 of file cds_objects.h.

void CdsObject::setResources ( zmm::Ref< zmm::Array< CdsResource > >  res  )  [inline, inherited]

Set resources.

Definition at line 252 of file cds_objects.h.

References CdsObject::resources.

void CdsObject::setRestricted ( bool  restricted  )  [inline, inherited]

Set the restricted flag.

Definition at line 148 of file cds_objects.h.

References CdsObject::changeFlag(), and OBJECT_FLAG_RESTRICTED.

void CdsItem::setServiceID ( zmm::String  serviceID  )  [inline, inherited]

Set the unique service ID.

Definition at line 343 of file cds_objects.h.

void CdsObject::setSortPriority ( int  sortPriority  )  [inline, inherited]

Set the sort prioroty of an object.

Definition at line 184 of file cds_objects.h.

void CdsObject::setTitle ( zmm::String  title  )  [inline, inherited]

Set the object title (dc:title).

Definition at line 154 of file cds_objects.h.

void CdsItem::setTrackNumber ( int  trackNumber  )  [inline, inherited]

Sets the upnp:originalTrackNumber property.

Definition at line 324 of file cds_objects.h.

void CdsItemExternalURL::setURL ( zmm::String  URL  )  [inline]

Sets the URL for the item.

Parameters:
URL full url to the item: http://somewhere.com/something.mpg

Definition at line 424 of file cds_objects.h.

References CdsObject::location.

void CdsObject::setVirtual ( bool  virt  )  [inline, inherited]

Set the virtual flag.

Definition at line 172 of file cds_objects.h.

void CdsItemExternalURL::validate (  )  [virtual]

Copies all object properties to another object.

Parameters:
obj target object (clone) Checks if current object is equal to obj. See description for CdsObject::equals() for details. Checks if the minimum required parameters for the object have been set and are valid.

Reimplemented from CdsItem.

Reimplemented in CdsItemInternalURL.

Definition at line 254 of file cds_objects.cc.

References _, _Exception, CdsObject::location, CdsItem::mimeType, and string_ok().


Friends And Related Function Documentation

int CdsObjectTitleComparator ( void *  arg1,
void *  arg2 
) [friend, inherited]

Todo:
get rid of getTitle() to avod unnecessary reference counting ops

Definition at line 322 of file cds_objects.cc.


Field Documentation

mt_atomic_t zmm::Object::_ref_count [protected, inherited]
zmm::Ref<Dictionary> CdsObject::auxdata [protected, inherited]
int CdsObject::id [protected, inherited]

ID of the object in the content directory.

Definition at line 81 of file cds_objects.h.

Referenced by CdsObject::getID().

zmm::String CdsObject::location [protected, inherited]
zmm::Ref<Dictionary> CdsObject::metadata [protected, inherited]
zmm::String CdsItem::mimeType [protected, inherited]
pthread_mutex_t zmm::Object::mutex [protected, inherited]
unsigned int CdsObject::objectFlags [protected, inherited]

field which can hold various flags for the object

Definition at line 105 of file cds_objects.h.

Referenced by CdsObject::CdsObject(), CdsObject::clearFlag(), CdsObject::copyTo(), CdsObject::equals(), CdsObject::getFlag(), CdsObject::getFlags(), and CdsObject::setFlag().

unsigned int CdsObject::objectType [protected, inherited]
int CdsObject::parentID [protected, inherited]

ID of the object's parent.

Definition at line 87 of file cds_objects.h.

Referenced by CdsObject::CdsObject(), CdsObject::copyTo(), CdsObject::equals(), and CdsObject::getParentID().

int CdsObject::refID [protected, inherited]

ID of the referenced object.

Definition at line 84 of file cds_objects.h.

Referenced by CdsObject::CdsObject(), CdsObject::copyTo(), and CdsObject::getRefID().

zmm::String CdsItem::serviceID [protected, inherited]

unique service ID

Definition at line 311 of file cds_objects.h.

Referenced by CdsItem::CdsItem(), CdsItem::copyTo(), CdsItem::equals(), and CdsItem::getServiceID().

int CdsObject::sortPriority [protected, inherited]

flag that allows to sort objects within a container

Definition at line 108 of file cds_objects.h.

Referenced by CdsObject::CdsObject(), CdsObject::copyTo(), CdsObject::equals(), and CdsObject::getSortPriority().

zmm::String CdsObject::title [protected, inherited]

dc:title

Definition at line 90 of file cds_objects.h.

Referenced by CdsObject::copyTo(), CdsObject::equals(), CdsObject::getTitle(), and CdsObject::validate().

int CdsItem::trackNumber [protected, inherited]
zmm::String CdsObject::upnpClass [protected, inherited]
int CdsObject::virt [protected, inherited]

virtual object flag

Definition at line 99 of file cds_objects.h.

Referenced by CdsObject::CdsObject(), CdsObject::copyTo(), CdsObject::equals(), and CdsObject::isVirtual().


The documentation for this class was generated from the following files:

Generated on Fri Mar 26 20:16:56 2010 for MediaTomb by  doxygen 1.6.1