// UDI_BindChannel_Raw(inst->ManagementChannel, false,
// NULL, 1, inst, &cUDI_MgmtOpsList); // TODO: ops list for management agent?
- for( int i = 0; i < DriverModule->nRegions; i ++ )
- Log("Rgn %i: %p", i, inst->Regions[i]);
+// for( int i = 0; i < DriverModule->nRegions; i ++ )
+// Log("Rgn %i: %p", i, inst->Regions[i]);
+ LOG("Inst %s %p MA state =%i",
+ inst->Module->ModuleName, inst, UDI_MASTATE_USAGEIND);
inst->CurState = UDI_MASTATE_USAGEIND;
// Next State: _SECBIND
inst->FirstChild = child;
// and search for a handler
- tUDI_MetaLang *metalang = UDI_int_GetMetaLang(inst, child->Ops->meta_idx);
+ child->Metalang = UDI_int_GetMetaLang(inst->Module, child->Ops->meta_idx);
int best_level = 0;
tUDI_DriverModule *best_module = NULL;
for( tUDI_DriverModule *module = gpUDI_LoadedModules; module; module = module->Next )
{
for( int i = 0; i < module->nDevices; i ++ )
{
- if( module->Devices[i]->Metalang != metalang )
+ //LOG("%s:%i %p ?== %p",
+ // module->ModuleName, i,
+ // module->Devices[i]->Metalang, metalang);
+ if( module->Devices[i]->Metalang != child->Metalang )
continue ;
int level = UDI_MA_CheckDeviceMatch(
{
if( child->BoundInstance )
continue ;
+ if( Module->Devices[i]->Metalang != child->Metalang )
+ continue ;
// Check for match
int level = UDI_MA_CheckDeviceMatch(
Module->Devices[i]->nAttribs, Module->Devices[i]->Attribs,
if( Inst->CurState != Src )
return ;
+ LOG("Inst %s %p MA state %i->%i",
+ Inst->Module->ModuleName, Inst, Src, Dst);
+
switch(Dst)
{
case UDI_MASTATE_USAGEIND:
// Bind to parent
tUDI_BindOps *parent = &Module->Parents[0];
- udi_channel_t channel = UDI_CreateChannel_Blank(UDI_int_GetMetaLang(Inst, parent->meta_idx));
+ udi_channel_t channel = UDI_CreateChannel_Blank(UDI_int_GetMetaLang(Inst->Module, parent->meta_idx));
UDI_BindChannel(channel,true, Inst, parent->ops_idx, parent->region_idx, NULL,false,0);
UDI_BindChannel(channel,false,