Ejemplo n.º 1
0
DAO_DLL int DaoBase_OnLoad( DaoVmSpace *vmSpace, DaoNamespace *ns )
{
	DaoNamespace *testns = DaoNamespace_GetNamespace( ns, "test" );
	DaoNamespace *basens = DaoNamespace_GetNamespace( testns, "base" );
	DaoNamespace_WrapFunctions( testns, testFuncs );
	DaoNamespace_WrapFunctions( basens, baseFuncs );
	DMutex_Init( &test_mtx );
	return 0;
}
Ejemplo n.º 2
0
int DaoOnLoad( DaoVmSpace *vms, DaoNamespace *ns )
{
	__daoVmSpace = vms;
	DaoNamespace *CxxNS = DaoVmSpace_GetNamespace( vms, "CxxNS" );
	DaoNamespace *CxxNS2 = DaoVmSpace_GetNamespace( vms, "CxxNS2" );
	DaoNamespace_AddConstNumbers( ns, dao__Nums );
	DaoNamespace_AddConstNumbers( CxxNS, dao_CxxNS_Nums );
	DaoNamespace_WrapTypes( ns, dao__Typers );
	DaoNamespace_TypeDefines( ns, dao__Aliases );
	DaoNamespace_WrapFunctions( ns, dao__Funcs );
	DaoNamespace_WrapFunctions( CxxNS, dao_CxxNS_Funcs );
	DaoNamespace_WrapFunctions( CxxNS2, dao_CxxNS2_Funcs );
	return 0;
}
Ejemplo n.º 3
0
int DaoOnLoad( DaoVmSpace *vms, DaoNamespace *ns )
{
	__daoVmSpace = vms;
	DaoNamespace *SDL = DaoVmSpace_LinkModule( vms, ns, "SDL" );
	if( SDL == NULL ) SDL = DaoVmSpace_LinkModule( vms, ns, "DaoSDL" );
	if( SDL == NULL ) return 1;
	DaoNamespace_AddConstNumbers( ns, dao__Nums );
	dao_type_CommonState = DaoNamespace_WrapType( ns, dao_CommonState_Typer, 1 );
	DaoNamespace_TypeDefines( ns, dao__Aliases );
	DaoNamespace_WrapFunctions( ns, dao__Funcs );
	return 0;
}
Ejemplo n.º 4
0
DAO_DLL int DaoCGI_OnLoad( DaoVmSpace *vmSpace, DaoNamespace *ns )
{
    DaoProcess *process = DaoVmSpace_AcquireProcess( vmSpace );
    DaoMap *httpENV, *httpGET, *httpPOST, *httpFILE, *httpCOOKIE;
    DaoMap *httpGETS, *httpPOSTS;
    srand( time(NULL) );

    vmMaster = vmSpace;

    ns = DaoNamespace_GetNamespace( ns, "cgi" );
    daox_type_namestream = DaoNamespace_DefineType( ns,
                           "tuple<file:string,size:int,data:io::FileStream>", "HttpUpload" );
    daox_type_filemap = DaoNamespace_DefineType( ns, "map<string,HttpUpload>", NULL );

    DaoNamespace_WrapFunctions( ns, cgiMeths );

    httpENV = DaoMap_New(1+rand());
    httpGET = DaoMap_New(1+rand());
    httpPOST = DaoMap_New(1+rand());
    httpFILE = DaoMap_New(1+rand());
    httpCOOKIE = DaoMap_New(1+rand());
    httpGETS = DaoMap_New(1+rand());
    httpPOSTS = DaoMap_New(1+rand());

    DaoNamespace_AddValue( ns, "HTTP_ENV", (DaoValue*)httpENV, "map<string,string>" );
    DaoNamespace_AddValue( ns, "HTTP_GET", (DaoValue*)httpGET, "map<string,string>" );
    DaoNamespace_AddValue( ns, "HTTP_POST", (DaoValue*)httpPOST, "map<string,string>" );
    DaoNamespace_AddValue( ns, "HTTP_FILE", (DaoValue*)httpFILE, "map<string,HttpUpload>" );
    DaoNamespace_AddValue( ns, "HTTP_COOKIE", (DaoValue*)httpCOOKIE, "map<string,string>");
    DaoNamespace_AddValue( ns,"HTTP_GETS",(DaoValue*)httpGETS,"map<string,list<string>>");
    DaoNamespace_AddValue( ns,"HTTP_POSTS",(DaoValue*)httpPOSTS,"map<string,list<string>>");

    // Prepare HTTP_ENV:
    ParseKeyValueStringArray( process, httpENV, environ );

    // Prepare HTTP_GET:
    char *query = getenv( "QUERY_STRING" );
    if( query == NULL ) { /* lighttpd does not set "QUERY_STRING": */
        query = getenv( "REQUEST_URI" );
        if( query ) query = strchr( query, '?' );
        if( query ) query += 1;
    }
    if( query ) ParseKeyValueString( process, httpGETS, httpGET, query );
    query = getenv( "HTTP_COOKIE" );
    if( query ) ParseKeyValueString( process, NULL, httpCOOKIE, query );

    PreparePostData( process, httpPOSTS, httpPOST, httpFILE );

    DaoVmSpace_ReleaseProcess( vmSpace, process );
    return 0;
}
Ejemplo n.º 5
0
DAO_DLL_EXPORT int DaoStream_OnLoad( DaoVmSpace *vmSpace, DaoNamespace *ns )
{
	DaoNamespace *ions = DaoVmSpace_GetNamespace( vmSpace, "io" );
	daoFileStreamCore.bases[0] = DaoType_GetTypeCore( dao_type_stream );
	daoPipeStreamCore.bases[0] = DaoType_GetTypeCore( dao_type_stream );
	daoStringStreamCore.bases[0] = DaoType_GetTypeCore( dao_type_stream );
	daoSeekableDeviceCore.bases[0] = DaoType_GetTypeCore( dao_type_io_device );
	dao_type_file_stream = DaoNamespace_WrapType( ions, & daoFileStreamCore, DAO_CSTRUCT, 0 );
	dao_type_pipe_stream = DaoNamespace_WrapType( ions, & daoPipeStreamCore, DAO_CSTRUCT, 0 );
	dao_type_string_stream = DaoNamespace_WrapType( ions, & daoStringStreamCore, DAO_CSTRUCT, 0 );
	DaoNamespace_WrapInterface( ions, & daoSeekableDeviceCore );
	DaoNamespace_WrapFunctions( ions, dao_io_methods );

#define DAO_API_INIT
#include"dao_api.h"
	return 0;
}
Ejemplo n.º 6
0
DAO_DLL int DaoGLUT_OnLoad( DaoVmSpace *vmSpace, DaoNamespace *ns )
{
	__daoVmSpace = vmSpace;
	DaoNamespace_WrapFunctions( ns, DaoxGLUTMeths );
	return 0;
}
Ejemplo n.º 7
0
DAO_DLL int DaoOnLoad( DaoVmSpace *vmSpace, DaoNamespace *ns )
{
	DaoNamespace_WrapFunctions( ns, charTypeMeths );
	return 0;
}
Ejemplo n.º 8
0
DAO_DLL int DaoSerializer_OnLoad( DaoVmSpace *vmSpace, DaoNamespace *ns )
{
	ns = DaoVmSpace_GetNamespace( vmSpace, "std" );
	DaoNamespace_WrapFunctions( ns, serializerMeths );
	return 0;
}
Ejemplo n.º 9
0
DAO_DLL int DaoZip_OnLoad( DaoVmSpace *vmSpace, DaoNamespace *ns )
{
	ns = DaoNamespace_GetNamespace( ns, "zip" );
	DaoNamespace_WrapFunctions( ns, zipMeths );
	return 0;
}