ekg2
|
00001 #ifndef PERL_BLESS_H 00002 #define PERL_BLESS_H 00003 00004 #ifndef __FreeBSD__ 00005 #define __EXTENSIONS__ 00006 #endif 00007 00008 #ifdef bool 00009 #define HAS_BOOL 00010 #endif 00011 00012 #include <EXTERN.h> 00013 #include <perl.h> 00014 #include <XSUB.h> 00015 00016 typedef enum { 00017 BLESS_SCRIPT = 0, 00018 BLESS_SESSION, 00019 BLESS_VARIABLE, 00020 BLESS_PLUGIN, 00021 BLESS_WINDOW, 00022 BLESS_WATCH, 00023 BLESS_COMMAND, 00024 BLESS_SESSION_PARAM, 00025 BLESS_TIMER, 00026 BLESS_USER, 00027 00028 BLESS_FSTRING = 10, 00029 BLESS_LIST, 00030 00031 BLESS_IRC_SERVER = 20, 00032 BLESS_IRC_CHANNEL, 00033 BLESS_IRC_USER, 00034 BLESS_IRC_CHANNUSER, 00035 } perl_bless_t; 00036 00037 SV *ekg2_bless(perl_bless_t flag, int flag2, void *object); 00038 00039 // Ekg2 00040 00041 #define bless_script(var)\ 00042 (SV *) ekg2_bless(BLESS_SCRIPT, 0, var) 00043 00044 #define bless_variable(var)\ 00045 (SV *) ekg2_bless(BLESS_VARIABLE, 0, var) 00046 00047 #define bless_session(session)\ 00048 (SV *) ekg2_bless(BLESS_SESSION, 0, session) 00049 00050 #define bless_plugin(plugin)\ 00051 (SV *) ekg2_bless(BLESS_PLUGIN, 0, plugin) 00052 00053 #define bless_window(window)\ 00054 (SV *) ekg2_bless(BLESS_WINDOW, 0, window) 00055 00056 #define bless_watch(watch)\ 00057 (SV *) ekg2_bless(BLESS_WATCH, 0, watch) 00058 00059 #define bless_command(command)\ 00060 (SV *) ekg2_bless(BLESS_COMMAND, 0, command) 00061 00062 #define bless_session_param(param)\ 00063 (SV *) ekg2_bless(BLESS_SESSION_PARAM, 0, param) 00064 00065 #define bless_timer(timer)\ 00066 (SV *) ekg2_bless(BLESS_TIMER, 0, timer) 00067 00068 #define bless_user(user)\ 00069 (SV *) ekg2_bless(BLESS_USER, 0, user) 00070 #define bless_list(ptr, id)\ 00071 (SV *) ekg2_bless(BLESS_LIST, id, ptr); 00072 00073 // Ekg2::Irc 00074 00075 #define bless_server(server)\ 00076 (SV *) ekg2_bless(BLESS_IRC_SERVER, 0, server) 00077 00078 #define bless_channel(channel)\ 00079 (SV *) ekg2_bless(BLESS_IRC_CHANNEL, 0, channel) 00080 00081 #define bless_person(person)\ 00082 (SV *) ekg2_bless(BLESS_IRC_USER, 0, person) 00083 00084 #define bless_channperson(person)\ 00085 (SV *) ekg2_bless(BLESS_IRC_CHANNUSER, 0, person) 00086 00087 #endif