1 #ifndef JSMEDIASERVER_H
2 #define JSMEDIASERVER_H
4 #include "MediaServer.h"
5 #include <dpl/shared_ptr.h>
6 #include <JavaScriptCore/JavaScript.h>
7 #include <CommonsJavaScript/JSPendingOperationPrivateObject.h>
8 #include <CommonsJavaScript/PrivateObject.h>
11 namespace MediaServer {
13 typedef WrtDeviceApis::CommonsJavaScript::PrivateObject<MediaServerPtr, WrtDeviceApis::CommonsJavaScript::NoOwnership> MediaServerPrivObject;
18 static const JSClassDefinition* getClassInfo();
20 static const JSClassRef getClassRef();
24 * The callback invoked when an object is first created.
26 static void initialize(JSContextRef context,
30 * The callback invoked when an object is finalized.
32 static void finalize(JSObjectRef object);
35 * The callback invoked when an object is used as the target of an 'instanceof' expression.
37 static bool hasInstance(JSContextRef ctx,
38 JSObjectRef constructor,
39 JSValueRef possibleInstance,
40 JSValueRef* exception);
44 * Browses for media item under a given MediaContainer.
46 static JSValueRef browse(JSContextRef context,
48 JSObjectRef thisObject,
50 const JSValueRef arguments[],
51 JSValueRef* exception);
55 * Searches for media item under a given MediaContainer.
57 static JSValueRef find(JSContextRef context,
59 JSObjectRef thisObject,
61 const JSValueRef arguments[],
62 JSValueRef* exception);
66 * This structure contains properties and callbacks that define a type of object.
68 static JSClassDefinition m_classInfo;
71 * This structure describes a statically declared function.
73 static JSStaticFunction m_function[];
75 static JSClassRef m_jsClassRef;
81 #endif // JSMEDIASERVER_H