Shaka Player Embedded
|
#include <backing_object_factory.h>
Public Member Functions | |
virtual | ~BackingObjectFactoryBase () |
const std::string & | name () const |
const BackingObjectFactoryBase * | base () const |
ReturnVal< JsValue > | GetConstructor () const |
bool | DerivedFrom (const std::string &name) const |
ReturnVal< JsValue > | WrapInstance (BackingObject *object) |
ReturnVal< JsValue > | GetIndex (Handle< JsObject > that, size_t index) |
void | SetIndex (Handle< JsObject > that, size_t index, Handle< JsValue > value) |
Protected Member Functions | |
BackingObjectFactoryBase (const std::string &name, NativeCtor ctor, const BackingObjectFactoryBase *base) | |
template<typename Callback > | |
void | AddMemberFunction (const std::string &name, Callback callback) |
template<typename Ret , typename... Args> | |
void | AddStaticFunction (const std::string &name, Ret(*callback)(Args...)) |
template<typename Prop > | |
void | AddListenerField (js::EventType type, Prop member) |
template<typename This , typename Prop > | |
void | AddReadOnlyProperty (const std::string &name, Prop This::*member) |
template<typename This , typename Prop > | |
void | AddReadWriteProperty (const std::string &name, Prop This::*member) |
template<typename Derived = void, typename This = void, typename GetProp = void> | |
void | AddGenericProperty (const std::string &name, GetProp(This::*get)() const) |
template<typename Derived = void, typename This = void, typename GetProp = void, typename SetProp = void, typename SetPropRet = void> | |
void | AddGenericProperty (const std::string &name, GetProp(This::*get)() const, SetPropRet(This::*set)(SetProp)) |
template<typename T > | |
void | AddConstant (const std::string &name, T value) |
template<typename This , typename T > | |
void | AddIndexer (bool(This::*get)(size_t, T *) const, void(This::*set)(size_t, T)=nullptr) |
void | NotImplemented (const std::string &name) |
A base type that defines a factory that creates BackingObject instances. This has several helper methods to register member functions and properties.
For each type exposed to JavaScript, create one type that inherits from BackingObject that defines members that will be exposed to Javascript and a factory that inherits from BackingObjectFactory<T> for the object type T. The factory constructor should call methods defined here to register the member pointers of the object.
The type T must define one namespace item:
Definition at line 156 of file backing_object_factory.h.
|
virtual |
Definition at line 155 of file backing_object_factory.cc.
|
protected |
Definition at line 101 of file backing_object_factory.cc.
|
inlineprotected |
Definition at line 306 of file backing_object_factory.h.
|
inlineprotected |
Definition at line 279 of file backing_object_factory.h.
|
inlineprotected |
Definition at line 290 of file backing_object_factory.h.
|
inlineprotected |
Definition at line 313 of file backing_object_factory.h.
|
inlineprotected |
Registers a field that is the on- listener for the given event. You MUST call AddListenerField in the object's constructor ALSO.
Definition at line 236 of file backing_object_factory.h.
|
inlineprotected |
Definition at line 216 of file backing_object_factory.h.
|
inlineprotected |
Definition at line 241 of file backing_object_factory.h.
|
inlineprotected |
Definition at line 258 of file backing_object_factory.h.
|
inlineprotected |
Definition at line 224 of file backing_object_factory.h.
|
inline |
Definition at line 166 of file backing_object_factory.h.
bool shaka::BackingObjectFactoryBase::DerivedFrom | ( | const std::string & | name | ) | const |
Definition at line 157 of file backing_object_factory.cc.
|
inline |
Definition at line 171 of file backing_object_factory.h.
ReturnVal< JsValue > shaka::BackingObjectFactoryBase::GetIndex | ( | Handle< JsObject > | that, |
size_t | index | ||
) |
This is called when an object created by this factory is indexed.
that | The JavaScript value |this|. |
index | The index that was requested. |
Definition at line 173 of file backing_object_factory.cc.
|
inline |
Definition at line 161 of file backing_object_factory.h.
|
protected |
Definition at line 186 of file backing_object_factory.cc.
void shaka::BackingObjectFactoryBase::SetIndex | ( | Handle< JsObject > | that, |
size_t | index, | ||
Handle< JsValue > | value | ||
) |
This is called when an object created by this factory is indexed.
that | The JavaScript value |this|. |
index | The index that was requested. |
value | The value that was set to. |
Definition at line 180 of file backing_object_factory.cc.
ReturnVal< JsValue > shaka::BackingObjectFactoryBase::WrapInstance | ( | BackingObject * | object | ) |
Wraps the given backing instance in a JavaScript object. This is can only be called on the event thread. The argument is assumed to be of the correct type.
Definition at line 165 of file backing_object_factory.cc.