39 #ifndef _PLT_FILE_MEDIA_SERVER_H_
40 #define _PLT_FILE_MEDIA_SERVER_H_
61 static NPT_String BuildSafeResourceUri(
const NPT_HttpUrl& base_uri,
63 const char* file_path);
70 virtual NPT_Result OnBrowseMetadata(PLT_ActionReference& action,
71 const char* object_id,
73 NPT_UInt32 starting_index,
74 NPT_UInt32 requested_count,
75 const char* sort_criteria,
77 virtual NPT_Result OnBrowseDirectChildren(PLT_ActionReference& action,
78 const char* object_id,
80 NPT_UInt32 starting_index,
81 NPT_UInt32 requested_count,
82 const char* sort_criteria,
84 virtual NPT_Result OnSearchContainer(PLT_ActionReference& action,
85 const char* object_id,
86 const char* search_criteria,
88 NPT_UInt32 starting_index,
89 NPT_UInt32 requested_count,
90 const char* sort_criteria,
92 virtual NPT_Result ProcessFileRequest(NPT_HttpRequest& request,
93 const NPT_HttpRequestContext& context,
94 NPT_HttpResponse& response);
97 virtual NPT_Result ExtractResourcePath(
const NPT_HttpUrl& url, NPT_String& file_path);
98 virtual NPT_String BuildResourceUri(
const NPT_HttpUrl& base_uri,
const char* host,
const char* file_path);
99 virtual NPT_Result ServeFile(
const NPT_HttpRequest& request,
100 const NPT_HttpRequestContext& context,
101 NPT_HttpResponse& response,
102 const NPT_String& file_path);
103 virtual NPT_Result GetFilePath(
const char* object_id, NPT_String& filepath);
104 virtual bool ProcessFile(
const NPT_String&,
const char* filter = NULL) { NPT_COMPILER_UNUSED(filter);
return true;}
107 bool with_count =
true,
108 bool keep_extension_in_title =
false,
114 NPT_String m_UrlRoot;
115 NPT_String m_FileRoot;
116 bool m_FilterUnknownOut;
135 const char* friendly_name,
136 bool show_ip =
false,
137 const char* uuid = NULL,
139 bool port_rebind =
false) :