ekg2

plugins/perl/perl_bless.h

Idź do dokumentacji tego pliku.
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
 All Struktury Danych Pliki Funkcje Zmienne Definicje typów Wyliczenia Wartości wyliczeń Definicje