FireBreath  1.4.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Pages
Public Member Functions | Protected Member Functions | List of all members
FB::JSAPIImpl Class Reference

JavaScript API base class implementation – provides basic functionality for C++ JSAPI objects. More...

#include "JSAPIImpl.h"

Inheritance diagram for FB::JSAPIImpl:
Inheritance graph
Collaboration diagram for FB::JSAPIImpl:
Collaboration graph

Public Member Functions

 JSAPIImpl (void)
 Default constructor. More...
 
virtual ~JSAPIImpl (void)
 Finaliser. More...
 
void invalidate ()
 Invalidates this object. More...
 
virtual void shutdown ()
 Called to notify the object that the plugin is shutting down. More...
 
virtual void pushZone (const SecurityZone &securityLevel)
 Pushes a new security level and locks a mutex (for every Push there must be a Pop!) More...
 
virtual void popZone ()
 Pops off a security level and unlocks the mutex (for every Push there must be a Pop!) More...
 
virtual void setDefaultZone (const SecurityZone &securityLevel)
 Sets the default zone (the zone the class operates on before a push) More...
 
virtual SecurityZone getDefaultZone () const
 Gets the default zone (the zone the class operates on before a push) More...
 
virtual SecurityZone getZone () const
 Gets the currently active zone. More...
 
virtual void registerEvent (const std::string &name)
 Register event so that event listeners can be added/attached from javascript. More...
 
virtual void registerEvent (const std::wstring &name)
 
virtual void registerEventMethod (const std::string &name, JSObjectPtr &event)
 Called by the browser to register an event handler method. More...
 
virtual void registerEventMethod (const std::wstring &name, JSObjectPtr &event)
 
virtual void unregisterEventMethod (const std::string &name, JSObjectPtr &event)
 Called by the browser to unregister an event handler method. More...
 
virtual void unregisterEventMethod (const std::wstring &name, JSObjectPtr &event)
 
virtual void registerEventInterface (const JSObjectPtr &event)
 Called by the browser to register a JSObject interface that handles events. This is primarily used by IE. Objects provided to this method are called when events are fired by calling a method of the event name on the event interface. More...
 
virtual void unregisterEventInterface (const JSObjectPtr &event)
 Called by the browser to unregister a JSObject interface that handles events. More...
 
- Public Member Functions inherited from FB::JSAPI
 JSAPI (void)
 Default constructor. More...
 
virtual ~JSAPI (void)
 Finaliser. More...
 
virtual void getMemberNames (std::vector< std::string > &nameVector) const =0
 Called by the browser to enumerate the members of this JSAPI object. More...
 
virtual size_t getMemberCount () const =0
 Gets the member count. More...
 
virtual bool HasMethod (const std::wstring &methodName) const
 
virtual bool HasMethod (const std::string &methodName) const =0
 Query if the JSAPI object has the 'methodName' method. More...
 
virtual bool HasMethodObject (const std::wstring &methodObjName) const
 
virtual bool HasMethodObject (const std::string &methodObjName) const
 Query if 'methodObjName' is a valid methodObj. More...
 
virtual bool HasProperty (const std::wstring &propertyName) const
 
virtual bool HasProperty (const std::string &propertyName) const =0
 Query if 'propertyName' is a valid property. More...
 
virtual bool HasProperty (int idx) const =0
 Query if the property at "idx" exists. More...
 
virtual JSAPIPtr GetMethodObject (const std::wstring &methodObjName)
 
virtual JSAPIPtr GetMethodObject (const std::string &methodObjName)
 Gets a method object (JSAPI object that has a default method) More...
 
virtual variant GetProperty (const std::wstring &propertyName)
 
virtual variant GetProperty (const std::string &propertyName)=0
 Gets a property value. More...
 
virtual void SetProperty (const std::wstring &propertyName, const variant &value)
 
virtual void SetProperty (const std::string &propertyName, const variant &value)=0
 Sets the value of a property. More...
 
virtual variant GetProperty (int idx)=0
 Gets the value of an indexed property. More...
 
virtual void SetProperty (int idx, const variant &value)=0
 Sets the value of an indexed property. More...
 
virtual void RemoveProperty (const std::wstring &propertyName)
 
virtual void RemoveProperty (const std::string &propertyName)=0
 Removes a property. More...
 
virtual void RemoveProperty (int idx)=0
 Removes an indexed property. More...
 
virtual variant Invoke (const std::wstring &methodName, const std::vector< variant > &args)
 
virtual variant Invoke (const std::string &methodName, const std::vector< variant > &args)=0
 Called by the browser to invoke a method on the JSAPI object. More...
 
virtual variant Construct (const std::vector< variant > &args)=0
 Called by the browser to construct the JSAPI object. More...
 

Protected Member Functions

virtual void FireEvent (const std::wstring &eventName, const std::vector< variant > &args)
 
virtual void FireEvent (const std::string &eventName, const std::vector< variant > &args)
 Fires an event into javascript asynchronously. More...
 
virtual void FireJSEvent (const std::string &eventName, const FB::VariantMap &members, const FB::VariantList &arguments)
 Fires an event into javascript asynchronously using a W3C-compliant event parameter. More...
 
virtual void FireJSEvent (const std::string &eventName, const FB::VariantMap &params)
 
virtual void FireJSEvent (const std::string &eventName, const FB::VariantList &arguments)
 

Detailed Description

JavaScript API base class implementation – provides basic functionality for C++ JSAPI objects.

JSAPIImpl is the base class for C++ objects that interact with Javascript. It provides some basic functionality that is shared with most C++ JSAPI implementations. If you want to provide an interface to something else, such as an object from Javascript, you probably want to extend JSAPI instead so as not to get the extra (unused) functionality from this class

Author
Richard Bateman
See Also
FB::JSAPI
FB::JSAPIAuto
Since
1.5

Definition at line 49 of file JSAPIImpl.h.


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