| Index: remoting/client/plugin/chromoting_scriptable_object.h
|
| ===================================================================
|
| --- remoting/client/plugin/chromoting_scriptable_object.h (revision 53948)
|
| +++ remoting/client/plugin/chromoting_scriptable_object.h (working copy)
|
| @@ -1,100 +0,0 @@
|
| -// Copyright (c) 2010 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -// This implements the JavaScript class entrypoint for the plugin.
|
| -// The Javascript API is defined as follows.
|
| -//
|
| -// interface ChromotingScriptableObject {
|
| -// // Called when the Chromoting plugin has had a state change such as
|
| -// // connection completed.
|
| -// attribute Function onreadystatechange;
|
| -//
|
| -// // Constants for states, etc.
|
| -// const unsigned short NOT_CONNECTED = 0;
|
| -// const unsigned short CONNECTED = 1;
|
| -//
|
| -// // Methods on the object.
|
| -// void connect(string username, string host_jid, string auth_token);
|
| -//
|
| -// // Attributes.
|
| -// readonly attribute unsigned short status;
|
| -// }
|
| -//
|
| -// onreadystatechange
|
| -//
|
| -// Methods:
|
| -// Connect(username, auth_token, host_jid, onstatechange);
|
| -
|
| -#ifndef REMOTING_CLIENT_PLUGIN_CHROMOTING_SCRIPTABLE_OBJECT_H_
|
| -#define REMOTING_CLIENT_PLUGIN_CHROMOTING_SCRIPTABLE_OBJECT_H_
|
| -
|
| -#include <map>
|
| -#include <string>
|
| -#include <vector>
|
| -
|
| -#include "third_party/ppapi/cpp/scriptable_object.h"
|
| -#include "third_party/ppapi/cpp/var.h"
|
| -
|
| -namespace remoting {
|
| -
|
| -class ChromotingPlugin;
|
| -
|
| -class ChromotingScriptableObject : public pp::ScriptableObject {
|
| - public:
|
| - explicit ChromotingScriptableObject(ChromotingPlugin* instance);
|
| - virtual ~ChromotingScriptableObject();
|
| -
|
| - virtual void Init();
|
| -
|
| - // Override the ScriptableObject functions.
|
| - virtual bool HasProperty(const pp::Var& name, pp::Var* exception);
|
| - virtual bool HasMethod(const pp::Var& name, pp::Var* exception);
|
| - virtual pp::Var GetProperty(const pp::Var& name, pp::Var* exception);
|
| - virtual void GetAllPropertyNames(std::vector<pp::Var>* properties,
|
| - pp::Var* exception);
|
| - virtual void SetProperty(const pp::Var& name,
|
| - const pp::Var& value,
|
| - pp::Var* exception);
|
| - virtual pp::Var Call(const pp::Var& method_name,
|
| - const std::vector<pp::Var>& args,
|
| - pp::Var* exception);
|
| -
|
| - private:
|
| - typedef std::map<std::string, int> PropertyNameMap;
|
| - typedef pp::Var (ChromotingScriptableObject::*MethodHandler)(
|
| - const std::vector<pp::Var>& args, pp::Var* exception);
|
| - struct PropertyDescriptor {
|
| - explicit PropertyDescriptor(const std::string& n, pp::Var a)
|
| - : name(n), attribute(a), method(NULL) {
|
| - }
|
| -
|
| - explicit PropertyDescriptor(const std::string& n, MethodHandler m)
|
| - : name(n), method(m) {
|
| - }
|
| -
|
| - enum Type {
|
| - ATTRIBUTE,
|
| - METHOD,
|
| - } type;
|
| -
|
| - std::string name;
|
| - pp::Var attribute;
|
| - MethodHandler method;
|
| - };
|
| -
|
| -
|
| - void AddAttribute(const std::string& name, pp::Var attribute);
|
| - void AddMethod(const std::string& name, MethodHandler handler);
|
| -
|
| - pp::Var DoConnect(const std::vector<pp::Var>& args, pp::Var* exception);
|
| -
|
| - PropertyNameMap property_names_;
|
| - std::vector<PropertyDescriptor> properties_;
|
| -
|
| - ChromotingPlugin* instance_;
|
| -};
|
| -
|
| -} // namespace remoting
|
| -
|
| -#endif // REMOTING_CLIENT_PLUGIN_CHROMOTING_SCRIPTABLE_OBJECT_H_
|
|
|