diff options
author | murgatroid99 <michael.lumish@gmail.com> | 2015-01-12 18:14:35 -0800 |
---|---|---|
committer | murgatroid99 <michael.lumish@gmail.com> | 2015-01-12 18:14:35 -0800 |
commit | e5061519185627e58495bede780f757339ba07c5 (patch) | |
tree | 7bf63f4bcc35d2141351d8cf29fac7a6eb5dfe63 /src/node/call.h | |
parent | 470a3ea1a192e53a61012c30a6a9a5efcc712948 (diff) |
Clean commit of Node.js library source
Diffstat (limited to 'src/node/call.h')
-rw-r--r-- | src/node/call.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/src/node/call.h b/src/node/call.h new file mode 100644 index 0000000000..1bf8e32aab --- /dev/null +++ b/src/node/call.h @@ -0,0 +1,49 @@ +#ifndef NET_GRPC_NODE_CALL_H_ +#define NET_GRPC_NODE_CALL_H_ + +#include <node.h> +#include <nan.h> +#include "grpc/grpc.h" + +#include "channel.h" + +namespace grpc { +namespace node { + +/* Wrapper class for grpc_call structs. */ +class Call : public ::node::ObjectWrap { + public: + static void Init(v8::Handle<v8::Object> exports); + static bool HasInstance(v8::Handle<v8::Value> val); + /* Wrap a grpc_call struct in a javascript object */ + static v8::Handle<v8::Value> WrapStruct(grpc_call *call); + + private: + explicit Call(grpc_call *call); + ~Call(); + + // Prevent copying + Call(const Call&); + Call& operator=(const Call&); + + static NAN_METHOD(New); + static NAN_METHOD(AddMetadata); + static NAN_METHOD(StartInvoke); + static NAN_METHOD(ServerAccept); + static NAN_METHOD(ServerEndInitialMetadata); + static NAN_METHOD(Cancel); + static NAN_METHOD(StartWrite); + static NAN_METHOD(StartWriteStatus); + static NAN_METHOD(WritesDone); + static NAN_METHOD(StartRead); + static v8::Persistent<v8::Function> constructor; + // Used for typechecking instances of this javascript class + static v8::Persistent<v8::FunctionTemplate> fun_tpl; + + grpc_call *wrapped_call; +}; + +} // namespace node +} // namespace grpc + +#endif // NET_GRPC_NODE_CALL_H_ |