You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
1.1 KiB

#ifndef node_events_h
#define node_events_h
#include "node.h"
#include <v8.h>
namespace node {
class EventEmitter : public ObjectWrap {
16 years ago
public:
static void Initialize (v8::Handle<v8::Object> target);
static v8::Persistent<v8::FunctionTemplate> constructor_template;
16 years ago
virtual size_t size (void) { return sizeof(EventEmitter); };
bool Emit (const char *type, int argc, v8::Handle<v8::Value> argv[]);
EventEmitter (v8::Handle<v8::Object> handle)
16 years ago
: ObjectWrap(handle) { }
};
class Promise : public EventEmitter {
public:
static void Initialize (v8::Handle<v8::Object> target);
static v8::Persistent<v8::FunctionTemplate> constructor_template;
virtual size_t size (void) { return sizeof(Promise); };
bool EmitSuccess (int argc, v8::Handle<v8::Value> argv[])
{
return Emit("Success", argc, argv);
}
bool EmitError (int argc, v8::Handle<v8::Value> argv[])
{
return Emit("Error", argc, argv);
}
static Promise* Create (void);
protected:
Promise (v8::Handle<v8::Object> handle) : EventEmitter(handle) { }
};
} // namespace node
#endif