#include <file_request_handler.h>
Public Member Functions | |
| FileRequestHandler () | |
| virtual void | get_info (IN const char *filename, OUT struct File_Info *info) |
| virtual zmm::Ref< IOHandler > | open (IN const char *filename, OUT struct File_Info *info, IN enum UpnpOpenFileMode mode) |
| void | retain () |
| void | release () |
| int | getRefCount () |
Static Public Member Functions | |
| static void | split_url (const char *url, char separator, zmm::String &path, zmm::String ¶meters) |
| Splits the url into a path and parameters string. Only '?' and '/' separators are allowed, otherwise an exception will be thrown. | |
| static void * | operator new (size_t size) |
| static void | operator delete (void *ptr) |
Protected Attributes | |
| mt_atomic_t | _ref_count |
| pthread_mutex_t | mutex |
Definition at line 39 of file file_request_handler.h.
| FileRequestHandler::FileRequestHandler | ( | ) |
Definition at line 72 of file file_request_handler.cc.
| void FileRequestHandler::get_info | ( | IN const char * | filename, | |
| OUT struct File_Info * | info | |||
| ) | [virtual] |
Implements RequestHandler.
Definition at line 76 of file file_request_handler.cc.
References _, _Exception, zmm::String::c_str(), CFG_IMPORT_MAPPINGS_MIMETYPE_TO_CONTENTTYPE_LIST, CONTENT_TYPE_PCM, MetadataHandler::createHandler(), DIR_SEPARATOR, DVD_AudioStreamID, DVD_Chapter, DVD_Title, Singleton< ConfigManager >::getInstance(), Storage::getInstance(), getMTFromProtocolInfo(), MetadataHandler::getResAttrName(), IS_CDS_ITEM, ixmlCloneDOMString(), zmm::String::length(), LINK_FILE_REQUEST_HANDLER, log_debug, MIMETYPE_TEXT, nil, NULL, OBJECT_FLAG_DVD_IMAGE, R_NRAUDIOCHANNELS, R_SAMPLEFREQUENCY, RefCast, DVDHandler::renderKey(), RESOURCE_HANDLER, zmm::String::rindex(), string_ok(), zmm::String::substring(), zmm::String::toInt(), and URL_RESOURCE_ID.
| int Object::getRefCount | ( | ) | [inherited] |
Definition at line 78 of file object.cc.
References zmm::Object::_ref_count, and atomic_get().
| Ref< IOHandler > FileRequestHandler::open | ( | IN const char * | filename, | |
| OUT struct File_Info * | info, | |||
| IN enum UpnpOpenFileMode | mode | |||
| ) | [virtual] |
Implements RequestHandler.
Definition at line 335 of file file_request_handler.cc.
References _, _Exception, zmm::String::c_str(), MetadataHandler::createHandler(), CdsObject::createObject(), DIR_SEPARATOR, DVD_AudioStreamID, DVD_Chapter, DVD_Title, FLUSH_ASAP, getDeltaMillis(), Singleton< PlayHook >::getInstance(), Singleton< ConfigManager >::getInstance(), Singleton< SessionManager >::getInstance(), Singleton< UpdateManager >::getInstance(), Storage::getInstance(), getMTFromProtocolInfo(), getTimespecNow(), INVALID_OBJECT_ID, IS_CDS_ACTIVE_ITEM, IS_CDS_ITEM, ixmlCloneDOMString(), zmm::String::length(), LINK_FILE_REQUEST_HANDLER, log_debug, MIMETYPE_TEXT, nil, NULL, OBJECT_FLAG_DVD_IMAGE, RefCast, DVDHandler::renderKey(), RESOURCE_HANDLER, zmm::String::rindex(), run_simple_process(), string_ok(), zmm::String::substring(), zmm::String::toInt(), UPNP_READ, UpnpXML_DIDLRenderObject(), UpnpXML_DIDLUpdateObject(), URL_RESOURCE_ID, XML_DC_NAMESPACE, XML_DC_NAMESPACE_ATTR, XML_UPNP_NAMESPACE, and XML_UPNP_NAMESPACE_ATTR.
| void Object::operator delete | ( | void * | ptr | ) | [static, inherited] |
| void * Object::operator new | ( | size_t | size | ) | [static, inherited] |
| void Object::release | ( | ) | [inherited] |
Definition at line 66 of file object.cc.
References zmm::Object::_ref_count, atomic_dec(), and zmm::Object::mutex.
Referenced by zmm::ArrayBase::clear(), zmm::String::operator=(), DSOHash< zmm::Array< CacheObject > >::releaseData(), DSBHash< VT >::releaseData(), DSOHash< zmm::Array< CacheObject > >::remove(), zmm::ArrayBase::remove(), zmm::ArrayBase::removeUnordered(), zmm::ArrayBase::set(), zmm::ArrayBase::~ArrayBase(), DSOHash< zmm::Array< CacheObject > >::~DSOHash(), zmm::ObjectQueue< AutoscanDirectory >::~ObjectQueue(), zmm::ObjectStack< Element >::~ObjectStack(), and zmm::String::~String().
| void Object::retain | ( | ) | [inherited] |
Definition at line 58 of file object.cc.
References zmm::Object::_ref_count, atomic_inc(), and zmm::Object::mutex.
Referenced by zmm::ArrayBase::append(), zmm::ObjectQueue< AutoscanDirectory >::enqueue(), zmm::ArrayBase::insert(), zmm::String::operator=(), zmm::ObjectStack< Element >::push(), DSOHash< zmm::Array< CacheObject > >::put(), DSBHash< VT >::put(), zmm::ArrayBase::set(), and zmm::String::String().
| void RequestHandler::split_url | ( | const char * | url, | |
| char | separator, | |||
| zmm::String & | path, | |||
| zmm::String & | parameters | |||
| ) | [static, inherited] |
Splits the url into a path and parameters string. Only '?' and '/' separators are allowed, otherwise an exception will be thrown.
| url | URL that has to be processed | |
| path | variable where the path portion will be saved | |
| parameters | variable where the parameters portion will be saved |
This function splits the url into it's path and parameter components. content/media SEPARATOR object_id=12345&transcode=wav would be transformed to: path = "content/media" parameters = "object_id=12345&transcode=wav"
Definition at line 41 of file request_handler.cc.
References _, _Exception, zmm::String::index(), zmm::String::rindex(), and zmm::String::substring().
Referenced by create_request_handler(), ServeRequestHandler::get_info(), WebRequestHandler::open(), and ServeRequestHandler::open().
mt_atomic_t zmm::Object::_ref_count [protected, inherited] |
Definition at line 54 of file object.h.
Referenced by zmm::Object::getRefCount(), zmm::Object::Object(), zmm::Object::release(), and zmm::Object::retain().
pthread_mutex_t zmm::Object::mutex [protected, inherited] |
Reimplemented in AutoscanList, AutoscanInotify, CachedURL, Dictionary_r, DVDNavReader, IOHandlerBufferHelper, ReentrantArray< T >, SingletonManager, Singleton< T >, StorageCache, MutexAutolock, Cond, ThreadExecutor, Singleton< UpdateManager >, Singleton< Timer >, Singleton< ContentDirectoryService >, Singleton< ConfigManager >, Singleton< Server >, Singleton< Runtime >, Singleton< ContentManager >, Singleton< ConnectionManagerService >, Singleton< PlayHook >, Singleton< Storage >, and Singleton< SessionManager >.
Definition at line 56 of file object.h.
Referenced by zmm::Object::Object(), zmm::Object::release(), zmm::Object::retain(), and zmm::Object::~Object().
1.6.1