Example #1
0
void Controller::ExecuteWs(XaLibWs& Ws){

	if(REQUEST.CalledObject=="XaUserLogin") {
		unique_ptr<XaUserLogin> UserLogin (new XaUserLogin());
		UserLogin->Execute();
	} else if(REQUEST.CalledObject=="XaOuType") {
		unique_ptr<XaOuType> OuType (new XaOuType());
		OuType->Execute();
	} else if(REQUEST.CalledObject=="XaOu") {
		unique_ptr<XaOu> Ou (new XaOu());
		Ou->Execute();
	} else if(REQUEST.CalledObject=="XaUser") {
		unique_ptr<XaUser> User (new XaUser());
		User->Execute();
	} else if(REQUEST.CalledObject=="XaUserType") {
		unique_ptr<XaUserType> UserType (new XaUserType());
		UserType->Execute();
	} else if(REQUEST.CalledObject=="XaRbacRole") {
		unique_ptr<XaRbacRole> RbacRole (new XaRbacRole());
		RbacRole->Execute();
	} else if(REQUEST.CalledObject=="XaRbacRoleRXaUser") {
		unique_ptr<XaRbacRoleRXaUser> RbacRoleRXaUser (new XaRbacRoleRXaUser());
		RbacRoleRXaUser->Execute();
	} else if(REQUEST.CalledObject=="XaUserAddressPhone") {
		unique_ptr<XaUserAddressPhone> AddressPhone (new XaUserAddressPhone());
		AddressPhone->Execute();
	} else if(REQUEST.CalledObject=="XaUserAddressMail") {
		unique_ptr<XaUserAddressMail> AddressMail (new XaUserAddressMail());
		AddressMail->Execute();
	} else if(REQUEST.CalledObject=="XaUserAddressGeo") {
		unique_ptr<XaUserAddressGeo> AddressGeo (new XaUserAddressGeo());
		AddressGeo->Execute();
	} else if(REQUEST.CalledObject=="XaUserAddressPhoneType") {
		unique_ptr<XaUserAddressPhoneType> AddressPhoneType (new XaUserAddressPhoneType());
		AddressPhoneType->Execute();
	} else if(REQUEST.CalledObject=="XaUserAddressPhoneCode") {
		unique_ptr<XaUserAddressPhoneCode> AddressPhoneCode (new XaUserAddressPhoneCode());
		AddressPhoneCode->Execute();
	} else if(REQUEST.CalledObject=="XaUserAddressMailType") {
		unique_ptr<XaUserAddressMailType> AddressMailType (new XaUserAddressMailType());
		AddressMailType->Execute();
	} else if(REQUEST.CalledObject=="XaUserAddressGeoType") {
		unique_ptr<XaUserAddressGeoType> AddressGeoType (new XaUserAddressGeoType());
		AddressGeoType->Execute();
	} else {
		LOG.Write("ERR", __FILE__, __FUNCTION__,__LINE__,"WS Called Object Doesn't Exist -> "+REQUEST.CalledObject);
		throw 119;
	}
};
Example #2
0
static unsigned MechDo( unsigned select, unsigned parm )
{
    unsigned long       size;
    unsigned            result = 0;
    DIPHDL( type, th );
    dip_type_info       info;
    mad_type_info       mti;

    switch( select ) {
    case 0:
        DoAssign();
        break;
    case 1:
        DoMul();
        break;
    case 2:
        DoDiv();
        break;
    case 3:
        DoMod();
        break;
    case 4:
        DoMinus();
        break;
    case 5:
        DoShift();
        break;
    case 6:
        DoAnd();
        break;
    case 7:
        DoXor();
        break;
    case 8:
        DoOr();
        break;
    case 9:
        DoAddr();
        break;
    case 10:
        ClassToTypeInfo( parm, &info );
        DoPoints( info.kind );
        break;
    case 11:
        DoField();
        break;
    case 12:
        DoCall( Num, parm );
        break;
    case 13:
        DoConvert();
        break;
    case 14:
        DoPlus();
        break;
    case 15:
        MakeAddr();
        break;
    case 16:
        result = TstEQ( parm );
        break;
    case 17:
        result = TstLT( parm );
        break;
    case 18:
        result = TstTrue( parm );
        break;
    case 19:
        result = TstExist( parm );
        break;
    case 20:
        size = ExprSP->info.size;
        PopEntry();
        PushNum( size );
        break;
    case 21:
        TypeBase( ExprSP->th, th, NULL, NULL );
        PopEntry();
        PushType( th );
        break;
    case 22:
        GetMADTypeDefault( MTK_ADDRESS, &mti );
        size = (mti.b.bits - mti.a.seg.bits) / BITS_PER_BYTE;
        if( parm ) {
            size += sizeof( addr_seg );
            TypePointer( ExprSP->th, TM_FAR, size, th );
        } else {
            TypePointer( ExprSP->th, TM_NEAR, size, th );
        }
        PopEntry();
        PushType( th );
        break;
    case 23:
        result = UserType( th );
        if( result ) {
            PopEntry();
            PushType( th );
        }
        break;
    case 24:
        DoMakeComplex();
        break;
    case 25:
        DoStringConcat();
        break;
    case 26:
        DoLConvert();
        break;
    case 27:
        DoPlusScaled();
        break;
    case 28:
        DoMinusScaled();
        break;
    case 29:
        DoPoints( TI_KIND_EXTRACT( parm ) );
        break;
    case 30:
        info.kind = TK_POINTER;
        info.size = TI_SIZE_EXTRACT( parm );
        info.modifier = TI_MOD_EXTRACT( parm );
        FillInDefaults( &info );
        TypePointer( ExprSP->th, info.modifier, info.size, th );
        PopEntry();
        PushType( th );
        break;
    case 31:
        if( parm ) {
            /* file scope */
            if( ExprSP->flags & SF_NAME ) {
                ExprSP->v.li.file_scope = TRUE;
            } else {
                Error( ERR_LOC, LIT( ERR_WANT_NAME ) );
            }
        } else {
            /* in a namespace */
            DoScope();
        }
        break;
    }
    return( result );
}
Example #3
0
static ssl_value MechDo( unsigned select, ssl_value parm )
{
    unsigned long       size;
    ssl_value           result;
    DIPHDL( type, th );
    dig_type_info       ti;
    mad_type_info       mti;

    result = 0;
    switch( select ) {
    case 0:
        DoAssign();
        break;
    case 1:
        DoMul();
        break;
    case 2:
        DoDiv();
        break;
    case 3:
        DoMod();
        break;
    case 4:
        DoMinus();
        break;
    case 5:
        DoShift();
        break;
    case 6:
        DoAnd();
        break;
    case 7:
        DoXor();
        break;
    case 8:
        DoOr();
        break;
    case 9:
        DoAddr();
        break;
    case 10:
        ClassToTypeInfo( parm, &ti );
        DoPoints( ti.kind );
        break;
    case 11:
        DoField();
        break;
    case 12:
        DoCall( Num, SSL2BOOL( parm ) );
        break;
    case 13:
        DoConvert();
        break;
    case 14:
        DoPlus();
        break;
    case 15:
        MakeAddr();
        break;
    case 16:
        result = ( TstEQ( SSL2INT( parm ) ) != 0 );
        break;
    case 17:
        result = ( TstLT( SSL2INT( parm ) ) != 0 );
        break;
    case 18:
        result = ( TstTrue( SSL2INT( parm ) ) != 0 );
        break;
    case 19:
        result = ( TstExist( SSL2INT( parm ) ) != 0 );
        break;
    case 20:
        size = ExprSP->ti.size;
        PopEntry();
        PushNum( size );
        break;
    case 21:
        DIPTypeBase( ExprSP->th, th, NULL, NULL );
        PopEntry();
        PushType( th );
        break;
    case 22:
        GetMADTypeDefault( MTK_ADDRESS, &mti );
        size = BITS2BYTES( mti.b.bits - mti.a.seg.bits );
        if( parm ) {
            size += sizeof( addr_seg );
            DIPTypePointer( ExprSP->th, TM_FAR, size, th );
        } else {
            DIPTypePointer( ExprSP->th, TM_NEAR, size, th );
        }
        PopEntry();
        PushType( th );
        break;
    case 23:
        result = UserType( th );
        if( result ) {
            PopEntry();
            PushType( th );
        }
        break;
    case 24:
        DoMakeComplex();
        break;
    case 25:
        DoStringConcat();
        break;
    case 26:
        DoLConvert();
        break;
    case 27:
        DoPlusScaled();
        break;
    case 28:
        DoMinusScaled();
        break;
    case 29:
        DoPoints( TI_KIND_EXTRACT( parm ) );
        break;
    case 30:
        ti.kind = TK_POINTER;
        ti.size = TI_SIZE_EXTRACT( parm );
        ti.modifier = TI_MOD_EXTRACT( parm );
        ti.deref = false;
        FillInDefaults( &ti );
        DIPTypePointer( ExprSP->th, ti.modifier, ti.size, th );
        PopEntry();
        PushType( th );
        break;
    case 31:
        if( SSL2BOOL( parm ) ) {
            /* file scope */
            if( ExprSP->flags & SF_NAME ) {
                ExprSP->v.li.file_scope = true;
            } else {
                Error( ERR_LOC, LIT_ENG( ERR_WANT_NAME ) );
            }
        } else {
            /* in a namespace */
            DoScope();
        }
        break;
    }
    return( result );
}