Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7745 Current »

FB::JSAPI Class Referenceabstract

JavaScript API class – provides a javascript interface that can be exposed to the browser. More...

#include "JSAPI.h"

Inheritance diagram for FB::JSAPI:
Inheritance graph

Public Member Functions

 JSAPI (void)
 Default constructor. More...
 
virtual ~JSAPI (void)
 Finaliser. More...
 
virtual void invalidate ()=0
 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 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...
 
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...
 

Detailed Description

JavaScript API class – provides a javascript interface that can be exposed to the browser.

JSAPI is the core class for all interaction with javascript. All PluginCore-derived Plugin objects must provide a JSAPI object to provide the javascript interface for their <object> tag, and methods or properties of that object can return other JSAPI objects.

Important things to know about JSAPI objects:

  • Unless you have unusual needs, you will most likely want to extend FB::JSAPIAuto instead of extending JSAPI directly.
  • Any time you work with a JSAPI object you should use it with a boost::shared_ptr. FB::JSAPIPtr is a typedef for a boost::shared_ptr<JSAPI> which may be useful.
    • From inside the object you can use the shared_from_this() method to get a shared_ptr for "this"
  • Objects passed in from javascript, including functions, will be passed in as FB::JSObject objects which extend JSAPI.
Author
Richard Bateman
See Also
FB::JSAPIAuto

Definition at line 56 of file JSAPI.h.


The documentation for this class was generated from the following file:
  • No labels