本文整理汇总了C++中CKBehaviorPrototype::DeclareOutput方法的典型用法代码示例。如果您正苦于以下问题:C++ CKBehaviorPrototype::DeclareOutput方法的具体用法?C++ CKBehaviorPrototype::DeclareOutput怎么用?C++ CKBehaviorPrototype::DeclareOutput使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CKBehaviorPrototype
的用法示例。
在下文中一共展示了CKBehaviorPrototype::DeclareOutput方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CreatePlayFFEffectProto
CKERROR CreatePlayFFEffectProto(CKBehaviorPrototype **pproto)
{
CKBehaviorPrototype *proto = NULL;
proto = CreateCKBehaviorPrototype("PlayFFEffect");
if(!proto) return CKERR_OUTOFMEMORY;
proto->DeclareInput("Init");
proto->DeclareInput("play");
proto->DeclareInput("stop");
proto->DeclareInput("release device");
proto->DeclareOutput("initiated");
proto->DeclareOutput("play exit");
proto->DeclareOutput("stopped");
proto->DeclareOutput("released");
proto->DeclareOutput("error");
proto->DeclareInParameter("effect file",CKPGUID_STRING);
proto->SetFlags(CK_BEHAVIORPROTOTYPE_NORMAL);
proto->SetFunction( PlayFFEffect );
proto->SetBehaviorCallbackFct(PlayFFECallBackObject);
*pproto = proto;
return CK_OK;
}
示例2: CreatePrototype
/*
*******************************************************************
* Function: CKERROR CreatePrototype( CKBehaviorPrototype** behaviorPrototypePtr )
*
* Description : The prototype creation function will be called the first time
* a behavior must be created to create the CKBehaviorPrototype
* that contains the description of the behavior.
*
* Parameters :
* behaviorPrototypePtr w Pointer to a CKBehaviorPrototype object that
* describes the behavior's internal structure
* and relationships with other objects.
*
* Returns : CKERROR
*
*******************************************************************
*/
CKERROR GBLPFDelete::CreatePrototype( CKBehaviorPrototype** behaviorPrototypePtr )
{
CKBehaviorPrototype *behaviorPrototype = CreateCKBehaviorPrototype( "GBLPFDelete" );
if ( !behaviorPrototype )
{
return CKERR_OUTOFMEMORY;
}
//--- Inputs declaration
behaviorPrototype->DeclareInput( "In" );
//--- Outputs declaration
behaviorPrototype->DeclareOutput( "OutSuccess" );
behaviorPrototype->DeclareOutput( "OutError" );
//--- Input Parameters declaration
behaviorPrototype->DeclareInParameter( "SetProfileId", GUID_PROFILE_ID );
//--- Output Parameters declaration
behaviorPrototype->DeclareOutParameter( "GetErrorCode", GUID_TGBLERROR );
//---- Local Parameters Declaration
//---- Settings Declaration
behaviorPrototype->SetBehaviorCallbackFct( GBLPFDelete::CallBack, CKCB_BEHAVIORATTACH|CKCB_BEHAVIORDETACH|CKCB_BEHAVIORDELETE|CKCB_BEHAVIOREDITED|CKCB_BEHAVIORSETTINGSEDITED|CKCB_BEHAVIORLOAD|CKCB_BEHAVIORPRESAVE|CKCB_BEHAVIORPOSTSAVE|CKCB_BEHAVIORRESUME|CKCB_BEHAVIORPAUSE|CKCB_BEHAVIORRESET|CKCB_BEHAVIORRESET|CKCB_BEHAVIORDEACTIVATESCRIPT|CKCB_BEHAVIORACTIVATESCRIPT|CKCB_BEHAVIORREADSTATE, NULL );
behaviorPrototype->SetFunction( GBLPFDelete::BehaviourFunction );
*behaviorPrototypePtr = behaviorPrototype;
return CK_OK;
}
示例3: CreateLogEntryProto
CKERROR CreateLogEntryProto(CKBehaviorPrototype **pproto)
{
CKBehaviorPrototype *proto = CreateCKBehaviorPrototype("pLogEvent");
if(!proto) return CKERR_OUTOFMEMORY;
proto->DeclareInput("In");
proto->DeclareInput("Off");
proto->DeclareOutput("Message");
proto->DeclareOutput("Error");
proto->DeclareOutput("Warning");
proto->DeclareOutput("Info");
proto->DeclareOutput("Trace");
proto->DeclareOutput("Debug");
proto->DeclareOutParameter("Entry",CKPGUID_STRING);
proto->DeclareOutParameter("Type",CKPGUID_INT);
proto->DeclareOutParameter("Component",CKPGUID_STRING);
proto->SetFlags(CK_BEHAVIORPROTOTYPE_NORMAL);
proto->SetBehaviorFlags((CK_BEHAVIOR_FLAGS)( CKBEHAVIOR_VARIABLEPARAMETERINPUTS ));
proto->SetFunction(LogEntry);
proto->SetBehaviorCallbackFct(LogEntryCB);
*pproto = proto;
return CK_OK;
}
示例4: CreateRetrieveCIProto
CKERROR CreateRetrieveCIProto(CKBehaviorPrototype **pproto)
{
CKBehaviorPrototype *proto = CreateCKBehaviorPrototype(GBL_CI_API_ENTRY("RetrieveCI"));
if(!proto) return CKERR_OUTOFMEMORY;
proto->DeclareInput("Start");
proto->DeclareOutput("Success");
proto->DeclareOutput("Error");
proto->DeclareInParameter("Configurable Information ID", CKPGUID_INT);
proto->DeclareOutParameter("Configurable Information Value", CKPGUID_STRING);
proto->DeclareOutParameter("GetErrorCode", GUID_TGBLERROR);
proto->DeclareSetting("Get value as string",CKPGUID_BOOL,"FALSE");
proto->DeclareSetting("Output custom values",CKPGUID_BOOL,"FALSE");
proto->SetBehaviorFlags((CK_BEHAVIOR_FLAGS)( CKBEHAVIOR_VARIABLEPARAMETEROUTPUTS ));
proto->SetFlags(CK_BEHAVIORPROTOTYPE_NORMAL);
proto->SetBehaviorCallbackFct(RetrieveCICB);
proto->SetFunction(RetrieveCI);
*pproto = proto;
return CK_OK;
}
示例5: CreatePrototype
CKERROR GBLCOSetID::CreatePrototype( CKBehaviorPrototype** behaviorPrototypePtr )
{
#if GBL_RUNTIME
// Not editable from Virtools Dev
CKBehaviorPrototype *behaviorPrototype = CreateCKBehaviorPrototypeRunTime( "GBLCOSetID" );
#elif GBL_GAMEDEVELOPER
// Edition depend on the BB.
CKBehaviorPrototype *behaviorPrototype = CreateCKBehaviorPrototype( "GBLCOSetID" );
#else
// Editable from Virtools Dev
CKBehaviorPrototype *behaviorPrototype = CreateCKBehaviorPrototype( "GBLCOSetID" );
#endif
if ( !behaviorPrototype )
return CKERR_OUTOFMEMORY;
//--- Inputs declaration
behaviorPrototype->DeclareInput( "InSetIdentity" );
//--- Outputs declaration
behaviorPrototype->DeclareOutput( "OutIdentitySet" );
behaviorPrototype->DeclareOutput( "OutError" );
//--- Parameter Input declaration
behaviorPrototype->DeclareInParameter("SetLAID", GUID_TGBLLAID);
//--- Parameter Output declaration
behaviorPrototype->DeclareOutParameter("GetError", GUID_TGBLERROR);
behaviorPrototype->SetFunction(GBLCOSetID::BehaviourFunction);
*behaviorPrototypePtr = behaviorPrototype;
return CK_OK;
}
示例6: CreatePMaterialIteratorProto
//************************************
// Method: CreatePMaterialIteratorProto
// FullName: CreatePMaterialIteratorProto
// Access: public
// Returns: CKERROR
// Qualifier:
// Parameter: CKBehaviorPrototype **pproto
//************************************
CKERROR CreatePMaterialIteratorProto(CKBehaviorPrototype **pproto)
{
CKBehaviorPrototype *proto = CreateCKBehaviorPrototype("PMaterialIterator");
if(!proto) return CKERR_OUTOFMEMORY;
proto->DeclareInput("In");
proto->DeclareInput("Next");
proto->DeclareOutput("Finish");
proto->DeclareOutput("Loop");
proto->DeclareLocalParameter("current result", CKPGUID_POINTER, "0");
proto->DeclareOutParameter("Index",CKPGUID_INT);
proto->DeclareOutParameter("XML Link",VTE_XML_MATERIAL_TYPE);
proto->DeclareOutParameter("Name",CKPGUID_STRING);
proto->DeclareOutParameter("Dynamic Friction",CKPGUID_FLOAT);
proto->DeclareOutParameter("Static Friction",CKPGUID_FLOAT);
proto->DeclareOutParameter("Restitution",CKPGUID_FLOAT);
proto->DeclareOutParameter("Dynamic Friction V",CKPGUID_FLOAT);
proto->DeclareOutParameter("Static Friction V",CKPGUID_FLOAT);
proto->DeclareOutParameter("Direction of Anisotropy ",CKPGUID_VECTOR);
proto->DeclareOutParameter("Friction Combine Mode",VTE_MATERIAL_COMBINE_MODE);
proto->DeclareOutParameter("Restitution Combine Mode",VTE_MATERIAL_COMBINE_MODE);
proto->DeclareOutParameter("Flags",VTF_MATERIAL_FLAGS);
proto->DeclareOutParameter("Result",VTS_MATERIAL);
proto->SetBehaviorCallbackFct( PMaterialIteratorCB );
proto->SetFlags(CK_BEHAVIORPROTOTYPE_NORMAL);
proto->SetBehaviorFlags(CKBEHAVIOR_TARGETABLE);
proto->SetFunction(PMaterialIterator);
*pproto = proto;
return CK_OK;
}
示例7: CreateMidiEventBehaviorProto
CKERROR CreateMidiEventBehaviorProto(CKBehaviorPrototype **pproto)
{
CKBehaviorPrototype *proto = CreateCKBehaviorPrototype("Midi Event");
if(!proto) return CKERR_OUTOFMEMORY;
proto->DeclareInput("On");
proto->DeclareInput("Off");
proto->DeclareOutput("Activated");
proto->DeclareOutput("Deactivated");
proto->DeclareInParameter("Channel", CKPGUID_INT, "0");
proto->DeclareInParameter("Note 1", CKPGUID_INT, "0");
proto->DeclareLocalParameter(NULL, CKPGUID_BOOL, "FALSE"); // Combination was ok
proto->SetFlags(CK_BEHAVIORPROTOTYPE_NORMAL);
proto->SetFunction(MidiEvent);
proto->SetBehaviorFlags((CK_BEHAVIOR_FLAGS)(CKBEHAVIOR_VARIABLEPARAMETERINPUTS));
proto->SetBehaviorCallbackFct( MidiEventCallBack );
*pproto = proto;
return CK_OK;
}
示例8: CreatePacketIteratorProto
CKERROR CreatePacketIteratorProto(CKBehaviorPrototype **pproto)
{
CKBehaviorPrototype *proto = CreateCKBehaviorPrototype(GBL_CI_API_ENTRY("PacketIterator"));
if(!proto) return CKERR_OUTOFMEMORY;
proto->DeclareInput("On/Reset");
proto->DeclareOutput("Exit On/Reset");
proto->DeclareInput("Loop In");
proto->DeclareOutput("Loop Out");
proto->DeclareOutParameter("Target user id", CKPGUID_INT,"-1");
proto->DeclareOutParameter("Data", CKPGUID_STRING,"");
proto->DeclareOutParameter("Header", CKPGUID_STRING,"");
proto->DeclareOutParameter("PacketType", GUID_GBLCI_EPACKET_TYPE,"");
proto->DeclareOutParameter("Time Stamp", CKPGUID_INT,"-1");
proto->DeclareLocalParameter(NULL, CKPGUID_INT); // packet index
if(!GBLDebugBuild)
{
proto->SetFlags(CK_BEHAVIORPROTOTYPE_HIDDEN);
}else
{
proto->SetFlags(CK_BEHAVIORPROTOTYPE_NORMAL);
}
proto->SetFunction(PacketIterator);
*pproto = proto;
return CK_OK;
}
示例9: CreateRegisterAttributeTypeProto
//************************************
// Method: CreateRegisterAttributeTypeProto
// FullName: CreateRegisterAttributeTypeProto
// Access: public
// Returns: CKERROR
// Qualifier:
// Parameter: CKBehaviorPrototype **pproto
//************************************
CKERROR CreateRegisterAttributeTypeProto(CKBehaviorPrototype **pproto)
{
CKBehaviorPrototype *proto = CreateCKBehaviorPrototype("RegisterAttribute");
if(!proto) return CKERR_OUTOFMEMORY;
proto->DeclareInput("In");
proto->DeclareOutput("Out");
proto->DeclareOutput("Error");
proto->DeclareInParameter("Name",CKPGUID_STRING);
proto->DeclareInParameter("Category",CKPGUID_STRING);
proto->DeclareInParameter("Default Value",CKPGUID_STRING);
proto->DeclareInParameter("Parameter Type",CKPGUID_PARAMETERTYPE);
proto->DeclareInParameter("Compatible Class",CKPGUID_CLASSID);
proto->DeclareInParameter("User",CKPGUID_BOOL,"TRUE");
proto->DeclareInParameter("Save",CKPGUID_BOOL,"TRUE");
proto->SetBehaviorCallbackFct( RegisterAttributeTypeCB );
proto->SetFlags(CK_BEHAVIORPROTOTYPE_NORMAL);
proto->SetFunction(RegisterAttributeType);
*pproto = proto;
return CK_OK;
}
示例10: CreateBehaviourPrototype
/*
*******************************************************************
* Function: int CreateBehaviourPrototype()
*
* Description : Returns the number of plugins in this DLL
*
* Paramters :
* CKBehaviorPrototype w ppProto
*
* Returns : CKERROR - Standard virtools return type
*
*******************************************************************
*/
CKERROR CGBLLOGetMOStatus::CreateBehaviourPrototype(CKBehaviorPrototype** ppProto)
{
CKERROR err = CK_OK;
// Create the CKBehaviorPrototype object
CKBehaviorPrototype *pProto = CreateCKBehaviorPrototype("GBLLOStartMO");
if (!pProto)
return NULL;
// Set the B-Ins, B-Outs, P-Ins and P-Outs
if (eParamInputMO != pProto->DeclareInParameter("Set Measured Objective", CKGUID_CGBLMO_PARAMETER))
assert(NULL);
if (eParamOutputGetError != pProto->DeclareOutParameter("Get Error", GUID_TGBLERROR))
assert(NULL);
if (eParamOutputGetStatus != pProto->DeclareOutParameter("Get Status", CKPGUID_BOOL))
assert(NULL);
if (eBehInputStart != pProto->DeclareInput("InS tart"))
assert(NULL);
if (eBehOutputDone != pProto->DeclareOutput("Out Done"))
assert(NULL);
if (eBehOutputError != pProto->DeclareOutput("Out Error"))
assert(NULL);
// flags
pProto->SetFlags(CK_BEHAVIORPROTOTYPE_NORMAL);
// Set the behaviour function
pProto->SetFunction(BehaviourFunction);
// Everything must have gone OK, pass back Proto pointer to Virtools
*ppProto = pProto;
return err;
}
示例11: CreatePrototype
/*
*******************************************************************
* Function: CKERROR CreatePrototype( CKBehaviorPrototype** behaviorPrototypePtr )
*
* Description : The prototype creation function will be called the first time
* a behavior must be created to create the CKBehaviorPrototype
* that contains the description of the behavior.
*
* Paramters :
* behaviorPrototypePtr w Pointer to a CKBehaviorPrototype object that
* describes the behavior's internal structure
* and relationships with other objects.
*
* Returns : CKERROR
*
*******************************************************************
*/
CKERROR CGBLCHChatMoveHomogeneous::CreatePrototype( CKBehaviorPrototype** behaviorPrototypePtr )
{
CKBehaviorPrototype *behaviorPrototype = CreateCKBehaviorPrototype( "GBLCHChatMoveHomogeneous" );
if ( !behaviorPrototype )
{
return CKERR_OUTOFMEMORY;
}
//--- Inputs declaration
behaviorPrototype->DeclareInput( "On" );
//--- Outputs declaration
behaviorPrototype->DeclareOutput( "Done" );
behaviorPrototype->DeclareOutput( "Error" );
//--- Input Parameters declaration
behaviorPrototype->DeclareInParameter( "Frame", CKPGUID_2DENTITY );
behaviorPrototype->DeclareInParameter( "Height", CKPGUID_FLOAT ); //1
behaviorPrototype->DeclareInParameter( "Width", CKPGUID_FLOAT ); //2
behaviorPrototype->DeclareInParameter( "X", CKPGUID_FLOAT ); //3
behaviorPrototype->DeclareInParameter( "Y", CKPGUID_FLOAT ); //4
//---- Local Parameters Declaration
//---- Settings Declaration
behaviorPrototype->SetBehaviorCallbackFct( CGBLCHChatMoveHomogeneous::CallBack, CKCB_BEHAVIORATTACH|CKCB_BEHAVIORDETACH|CKCB_BEHAVIORDELETE|CKCB_BEHAVIOREDITED|CKCB_BEHAVIORSETTINGSEDITED|CKCB_BEHAVIORLOAD|CKCB_BEHAVIORPRESAVE|CKCB_BEHAVIORPOSTSAVE|CKCB_BEHAVIORRESUME|CKCB_BEHAVIORPAUSE|CKCB_BEHAVIORRESET|CKCB_BEHAVIORRESET|CKCB_BEHAVIORDEACTIVATESCRIPT|CKCB_BEHAVIORACTIVATESCRIPT|CKCB_BEHAVIORREADSTATE, NULL );
behaviorPrototype->SetFunction( CGBLCHChatMoveHomogeneous::BehaviourFunction );
*behaviorPrototypePtr = behaviorPrototype;
return CK_OK;
}
示例12: CreateCISIteratorBBProto
/*
*******************************************************************
* Function: CKERROR CreateCISIteratorBBProto( CKBehaviorPrototype** behaviorPrototypePtr )
*
* Description : The prototype creation function will be called the first time
* a behavior must be created to create the CKBehaviorPrototype
* that contains the description of the behavior.
*
* Parameters :
* behaviorPrototypePtr w Pointer to a CKBehaviorPrototype object that
* describes the behavior's internal structure
* and relationships with other objects.
*
* Returns : CKERROR
*
*******************************************************************
*/
CKERROR CreateCISIteratorBBProto(CKBehaviorPrototype **pproto)
{
CKBehaviorPrototype *proto = CreateCKBehaviorPrototype(GBL_CI_API_ENTRY("CISIterator"));
if(!proto) return CKERR_OUTOFMEMORY;
proto->DeclareInput("On/Reset");
proto->DeclareOutput("Exit On/Reset");
proto->DeclareInput("Loop In");
proto->DeclareOutput("Loop Out");
proto->DeclareOutParameter("value", CKPGUID_STRING,"-1");
proto->DeclareOutParameter("default value", CKPGUID_STRING,"-1");
proto->DeclareOutParameter("unique name", CKPGUID_STRING,"");
proto->DeclareOutParameter("description", CKPGUID_STRING,"-1");
proto->DeclareOutParameter("access flags", CIPRTFLAGSGUID,"");
proto->DeclareOutParameter("parameter type", CKPGUID_PARAMETERTYPE,"-1");
proto->DeclareOutParameter("ci db index", CKPGUID_INT,"-1");
proto->DeclareLocalParameter(NULL, CKPGUID_INT); // index
proto->DeclareLocalParameter(NULL, CKPGUID_INT); // cis size
proto->DeclareLocalParameter(NULL, CKPGUID_POINTER); // ciid list
proto->DeclareSetting("Read From Database", CKPGUID_BOOL,"FALSE");
proto->SetFlags(CK_BEHAVIORPROTOTYPE_NORMAL);
proto->SetBehaviorCallbackFct(CISIteratorCB);
proto->SetFunction(CISIteratorBB);
*pproto = proto;
return CK_OK;
}
示例13: CreatePrototype
/*
*******************************************************************
* Function: CKERROR CreatePrototype( CKBehaviorPrototype** behaviorPrototypePtr )
*
* Description : The prototype creation function will be called the first time
* a behavior must be created to create the CKBehaviorPrototype
* that contains the description of the behavior.
*
* Parameters :
* behaviorPrototypePtr w Pointer to a CKBehaviorPrototype object that
* describes the behavior's internal structure
* and relationships with other objects.
*
* Returns : CKERROR
*
*******************************************************************
*/
CKERROR CGBLLAERemoveUser::CreatePrototype( CKBehaviorPrototype** behaviorPrototypePtr )
{
CKBehaviorPrototype *behaviorPrototype = CreateCKBehaviorPrototype( "GBLLAERemoveUserBB" );
if ( !behaviorPrototype )
{
return CKERR_OUTOFMEMORY;
}
//--- Inputs declaration
behaviorPrototype->DeclareInput( "RemoveUser" );
//--- Outputs declaration
behaviorPrototype->DeclareOutput( "UserRemoved" );
behaviorPrototype->DeclareOutput( "Error" );
//--- Input Parameters declaration
behaviorPrototype->DeclareInParameter( "LAEID", GUID_GBLLAEID );
behaviorPrototype->DeclareInParameter( "LAEUserIDList", CKPGUID_DATAARRAY );
//--- Output Parameters declaration
behaviorPrototype->DeclareOutParameter( "Error", GUID_TGBLERROR );
//---- Local Parameters Declaration
//---- Settings Declaration
behaviorPrototype->SetBehaviorCallbackFct( CGBLLAERemoveUser::CallBack, CKCB_BEHAVIORATTACH|CKCB_BEHAVIORDETACH|CKCB_BEHAVIORDELETE|CKCB_BEHAVIOREDITED|CKCB_BEHAVIORSETTINGSEDITED|CKCB_BEHAVIORLOAD|CKCB_BEHAVIORPRESAVE|CKCB_BEHAVIORPOSTSAVE|CKCB_BEHAVIORRESUME|CKCB_BEHAVIORPAUSE|CKCB_BEHAVIORRESET|CKCB_BEHAVIORRESET|CKCB_BEHAVIORDEACTIVATESCRIPT|CKCB_BEHAVIORACTIVATESCRIPT|CKCB_BEHAVIORREADSTATE, NULL );
behaviorPrototype->SetFunction( CGBLLAERemoveUser::BehaviourFunction );
*behaviorPrototypePtr = behaviorPrototype;
return CK_OK;
}
示例14: CreateProto
/*
*******************************************************************
* Function: CKERROR CreatePrototype( CKBehaviorPrototype** behaviorPrototypePtr )
*
* Description : The prototype creation function will be called the first time
* a behavior must be created to create the CKBehaviorPrototype
* that contains the description of the behavior.
*
* Parameters :
* behaviorPrototypePtr w Pointer to a CKBehaviorPrototype object that
* describes the behavior's internal structure
* and relationships with other objects.
*
* Returns : CKERROR
*
*******************************************************************
*/
CKERROR CGBLDecodeAndDistribute::CreateProto(CKBehaviorPrototype** pproto)
{
CKBehaviorPrototype *proto = CreateCKBehaviorPrototype("GBLFCDecodeAndDistribute");
if (!proto)
{
return CKERR_OUTOFMEMORY;
}
//--- Inputs declaration
/**
* Start decoding the received string containing the target GBLWaitForCommand
* block ID and command parameters and send it locally to the target
* GBLWaitForCommand BB.
*/
proto->DeclareInput("Decode");
//--- Outputs declaration
/**
* The operation was successful, the command has been sent correctly.
*/
proto->DeclareOutput("OperationSuccessful");
/**
* Activates when an error occurred during the execution of the BB (the type of
* error is given by the GetError parameter output).
*/
proto->DeclareOutput("Error");
//--- Input Parameters declaration
/**
* Defines the string in which the command is encoded.
*/
proto->DeclareInParameter("CommandString", CKPGUID_STRING);
//--- Output Parameters declaration
/**
* Parameter output that returns the description for an error that occurred.
*/
proto->DeclareOutParameter("Error", GUID_TGBLERROR);
//---- Local Parameters Declaration
//---- Settings Declaration
proto->SetBehaviorFlags((CK_BEHAVIOR_FLAGS)(CKBEHAVIOR_MESSAGESENDER));
proto->SetBehaviorCallbackFct(CGBLDecodeAndDistribute::CallBack, NULL, NULL);
proto->SetFunction(CGBLDecodeAndDistribute::BehaviourFunction);
*pproto = proto;
return CK_OK;
}
示例15: CreatePrototype
/*
*******************************************************************
* Function: CKERROR CreatePrototype( CKBehaviorPrototype** behaviorPrototypePtr )
*
* Description : The prototype creation function will be called the first time
* a behavior must be created to create the CKBehaviorPrototype
* that contains the description of the behavior.
*
* Parameters :
* behaviorPrototypePtr w Pointer to a CKBehaviorPrototype object that
* describes the behavior's internal structure
* and relationships with other objects.
*
* Returns : CKERROR
*
*******************************************************************
*/
CKERROR GBLPFGetUserIdentity::CreatePrototype( CKBehaviorPrototype** behaviorPrototypePtr )
{
CKBehaviorPrototype *behaviorPrototype = CreateCKBehaviorPrototype( "GBLPFGetUserIdentity" );
if ( !behaviorPrototype )
{
return CKERR_OUTOFMEMORY;
}
//--- Inputs declaration
behaviorPrototype->DeclareInput( "In" );
//--- Outputs declaration
behaviorPrototype->DeclareOutput( "Out" );
//--- Output Parameters declaration
behaviorPrototype->DeclareOutParameter( "GetUserId", GUID_USER_ID );
behaviorPrototype->DeclareOutParameter( "GetUsername", CKPGUID_STRING );
behaviorPrototype->DeclareOutParameter( "GetVirtoolsUserId", CKPGUID_INT );
//---- Local Parameters Declaration
//---- Settings Declaration
behaviorPrototype->SetBehaviorCallbackFct( GBLPFGetUserIdentity::CallBack, CKCB_BEHAVIORATTACH|CKCB_BEHAVIORDETACH|CKCB_BEHAVIORDELETE|CKCB_BEHAVIOREDITED|CKCB_BEHAVIORSETTINGSEDITED|CKCB_BEHAVIORLOAD|CKCB_BEHAVIORPRESAVE|CKCB_BEHAVIORPOSTSAVE|CKCB_BEHAVIORRESUME|CKCB_BEHAVIORPAUSE|CKCB_BEHAVIORRESET|CKCB_BEHAVIORRESET|CKCB_BEHAVIORDEACTIVATESCRIPT|CKCB_BEHAVIORACTIVATESCRIPT|CKCB_BEHAVIORREADSTATE, NULL );
behaviorPrototype->SetFunction( GBLPFGetUserIdentity::BehaviourFunction );
*behaviorPrototypePtr = behaviorPrototype;
return CK_OK;
}