return filename;
}
+void IfableData::ExtractModules( std::vector<Module*> &modules )
+{
+ size_t i;
+ for ( i = 0; i < this->modules.size (); i++ )
+ modules.push_back(this->modules[i]);
+}
+
IfableData::~IfableData()
{
size_t i;
delete properties[i];
for ( i = 0; i < compilerFlags.size (); i++ )
delete compilerFlags[i];
+ for ( i = 0; i < modules.size(); i++ )
+ delete modules[i];
for ( i = 0; i < ifs.size (); i++ )
delete ifs[i];
for ( i = 0; i < compilationUnits.size (); i++ )
aliasedModuleName = att->value;
else
aliasedModuleName = "";
+
+ if ( type == BootProgram )
+ {
+ att = moduleNode.GetAttribute ( "payload", true );
+ payload = att->value;
+ }
}
Module::~Module ()
return BootLoader;
if ( attribute.value == "bootsector" )
return BootSector;
+ if ( attribute.value == "bootprogram" )
+ return BootProgram;
if ( attribute.value == "iso" )
return Iso;
if ( attribute.value == "liveiso" )
return ".o";
case Alias:
return "";
+ case BootProgram:
+ return "";
}
throw InvalidOperationException ( __FILE__,
__LINE__ );
case RpcServer:
case RpcClient:
case Alias:
+ case BootProgram:
return "";
}
throw InvalidOperationException ( __FILE__,
case RpcServer:
case RpcClient:
case Alias:
+ case BootProgram:
return "";
}
throw InvalidOperationException ( __FILE__,
case ObjectLibrary:
case BootLoader:
case BootSector:
+ case BootProgram:
case Iso:
case LiveIso:
case RpcServer:
case BuildTool:
case BootLoader:
case BootSector:
+ case BootProgram:
case Iso:
case LiveIso:
return true;
return path + cSep + prefix + GetTargetName ();
}
+string
+Module::GetPathToBaseDir () const
+{
+ string temp_path = path;
+ string result = "..\\";
+ while(temp_path.find ('\\') != string::npos)
+ {
+ temp_path.erase (0, temp_path.find('\\')+1);
+ result += "..\\";
+ }
+ return result;
+}
+
string
Module::GetInvocationTarget ( const int index ) const
{
void
If::ProcessXML()
{
+
}
case KernelModeDriver:
case BootSector:
case BootLoader:
+ case BootProgram:
case BuildTool:
case StaticLibrary:
case ObjectLibrary: