#pragma once
#include "threadData.h"
#include <libxml/xmlversion.h>
#undef LIBXML_ICONV_ENABLED
#include <libxml/parser.h>
#include <libxml/xpath.h>
#ifdef NT_PLUGIN
#include <tchar.h>
#else
#define _T(a) a
#endif
#define _ST(a) #a
#define AUTOLOADER_THREAD
class MModuleLogic {
private:
    MModuleLogic () {}
public:
    static void ModuleDetectionLogicInit (threadData *data) ;
    static void ModuleDetectionLogicCmdExecute (threadData *data) ;
    static void ModuleDetectionLogic (threadData *data, bool bInitNow =true) ;
protected:
    static void InitNewModules (threadData *data, 
MString &modName, 
MString &packageFile) ;
 
    static bool isPackageReady (threadData *data, 
MString &modFile) ;
 
    static bool executePackageContents (threadData *data, 
MString &modFile) ;
 
    static bool executeComponentEntry (threadData *data, xmlXPathContextPtr &context) ;
} ;