SOM
view release on metacpan or search on metacpan
int
ttk_objref()
SOMClass *
tSOMClass()
SOMClass *
tSOMObject()
SOMClass *
tSOMClassMgr()
SOMObject *
tSOMClassMgrObject()
MODULE = SOM PACKAGE = SOM PREFIX = PSOM_
BOOT:
somEnvironmentNew();
main_ev = somGetGlobalEnvironment();
newXS("SOM::bootstrap_DSOM", boot_DSOM, file);
newXS("SOM::bootstrap_SOMIr", boot_SOMIr, file);
newXS("SOM::bootstrap_SOMObject", boot_SOMObject, file);
SOMClass *
PSOM_Find_Class(name, major = 0, minor = 0, dll = 0)
char *name;
int major;
int minor;
char *dll;
MODULE = SOM PACKAGE = SOMClassPtr PREFIX = PSOM_
SOMObject *
PSOM_NewObject(classobj)
SOMClass *classobj
MODULE = SOM PACKAGE = SOMObjectPtr PREFIX = _som
SOMClass *
_somGetClass(obj)
SOMObject *obj
char *
_somGetClassName(obj)
SOMObject *obj
MODULE = SOM PACKAGE = SOMObjectPtr PREFIX = PSOM_
int
PSOM_Dispatch0(obj, meth)
SOMObject *obj;
char *meth;
int
PSOM_Dispatch_templ(obj, meth, templ, ...)
SOMObject *obj;
char *meth;
char *templ;
PPCODE:
{
union { short s; unsigned short us; long l; unsigned long ul;
char c; unsigned char uc; float f; double d; char *cp; void *vp;
SOMObject *op;
} ret_buffer, par_buffer;
va_list start_val;
MYsomVaBuf vb;
somToken *ret = 0;
char *t = templ;
int is_oidl = 0;
int i = 3; /* ordinal of a parameter */
somId methId = SOM_IdFromString(meth);
int rc;
SV *retsv;
IV tmp;
if (!*t)
croak("A zero length template");
if (*t++ == 'o')
is_oidl = 1;
if (!*t)
croak("No return specifier in a template");
/* Return value: */
switch (*t - tk_shift_) {
case tk_pointer:
case tk_TypeCode:
default:
croak("Do not know how to treat specifier '%c'==%d for return value in '%s'",
(*t ? *t : '?'), (int)(*t - tk_shift_), templ);
case tk_void:
break;
case tk_short:
case tk_ushort:
case tk_long:
case tk_ulong:
case tk_float:
case tk_double:
case tk_char:
case tk_boolean:
case tk_octet:
case tk_enum:
case tk_string:
case tk_objref:
// case tk_pointer:
ret = (somToken *)&ret_buffer;
}
vb = (MYsomVaBuf)MYsomVaBuf_create(NULL, 0);
if (!vb)
croak("Cannot create VaBuf");
MYsomVaBuf_add(vb, (char *)&obj, tk_pointer);
if (!is_oidl)
MYsomVaBuf_add(vb, (char *)&main_ev, tk_pointer);
while (*++t) {
int type = *t - tk_shift_;
STRLEN n_a;
( run in 0.432 second using v1.01-cache-2.11-cpan-5511b514fd6 )