Beispiel #1
0
bool MUtils::Translation::insert(const QString &langId, const QString &qmFile, const QString &langName, const quint32 &systemId, const quint32 &country)
{
	QWriteLocker writeLockTranslations(&g_translation_lock);

	const QString key = langId.simplified().toLower();
	if(key.isEmpty() || qmFile.isEmpty() || langName.isEmpty() || (systemId < 1))
	{
		return false;
	}

	if(g_translation_data.isNull())
	{
		g_translation_data.reset(new translation_store_t());
	}

	if(g_translation_data->contains(key))
	{
		qWarning("Translation store already contains entry for '%s', going to replace!", MUTILS_UTF8(key));
	}

	g_translation_data->insert(key, MAKE_ENTRY(langName, qmFile, systemId, country));
	return true;
}
Beispiel #2
0
/*
 * Register tool
 */
void lamexp_tools_register(const QString &toolName, LockedFile *const file, const quint32 &version, const QString &tag)
{
	QWriteLocker writeLock(&g_lamexp_tools_lock);
	
	if(!file)
	{
		MUTILS_THROW("lamexp_register_tool: Tool file must not be NULL!");
	}

	if(g_lamexp_tools_data.isNull())
	{
		g_lamexp_tools_data.reset(new tool_hash_t());
		atexit(lamexp_tools_clean_up);
	}

	const QString key = toolName.simplified().toLower();
	if(g_lamexp_tools_data->contains(key))
	{
		MUTILS_THROW("lamexp_register_tool: Tool is already registered!");
	}

	g_lamexp_tools_data->insert(key, MAKE_ENTRY(file, version, tag));
}
Beispiel #3
0
#undef VMBIF_DEFINE_VECTOR

#define MAKE_ENTRY(entry_name, cls) \
    { entry_name, countof(cls::bif_table), cls::bif_table, \
      &cls::attach, &cls::detach }

/* ------------------------------------------------------------------------ */
/*
 *   The function set registration table.  Each entry in the table
 *   provides the definition of one function set, keyed by the function
 *   set's universally unique identifier.  
 */
vm_bif_entry_t G_bif_reg_table[] =
{
    /* T3 VM system function set */
    MAKE_ENTRY("t3vm/010006", CVmBifT3),

    /* T3 VM Testing interface */
    MAKE_ENTRY("t3vmTEST/010000", CVmBifT3Test),
    
    /* TADS generic data manipulation functions */
    MAKE_ENTRY("tads-gen/030008", CVmBifTADS),

    /* TADS input/output functions */
    MAKE_ENTRY("tads-io/030007", CVmBifTIO),

    /* TADS extended input/output functions (if the platform supports them) */
    MAKE_ENTRY("tads-io-ext/030000", CVmBifTIOExt),
    
    // !!! ADD ANY HOST-SPECIFIC FUNCTION SETS HERE
Beispiel #4
0
	{"id",		"Id",		CMPI_chars},
	{"name",	"Name",		CMPI_chars},
	{"value",	"Value",	CMPI_chars}
};

static const map_entry_t HA_LOCATION_CONSTRAINT_RULE_entry [] = {
	{"id",		"Id",		CMPI_chars},
	{"attribute",	"Attribute",	CMPI_chars},
	{"operation",	"Operation",	CMPI_chars},
	{"value",	"Value",	CMPI_chars},
};

#define MAKE_ENTRY(id,entry) {id, MAPDIM(entry), entry}
static const struct map_t map_table [] =
{
	MAKE_ENTRY(HA_CLUSTER, HA_CLUSTER_entry),
	MAKE_ENTRY(HA_CLUSTER_NODE, HA_CLUSTER_NODE_entry),
	MAKE_ENTRY(HA_PRIMITIVE_RESOURCE, HA_PRIMITIVE_RESOURCE_entry),
	MAKE_ENTRY(HA_RESOURCE_CLONE, HA_RESOURCE_CLONE_entry),
	MAKE_ENTRY(HA_RESOURCE_GROUP, HA_RESOURCE_GROUP_entry),
	MAKE_ENTRY(HA_MASTERSLAVE_RESOURCE, HA_MASTERSLAVE_RESOURCE_entry),
	MAKE_ENTRY(HA_OPERATION, HA_OPERATION_entry),
	MAKE_ENTRY(HA_ORDER_CONSTRAINT, HA_ORDER_CONSTRAINT_entry),
	MAKE_ENTRY(HA_COLOCATION_CONSTRAINT, HA_COLOCATION_CONSTRAINT_entry),
	MAKE_ENTRY(HA_LOCATION_CONSTRAINT, HA_LOCATION_CONSTRAINT_entry),
	MAKE_ENTRY(HA_INSTANCE_ATTRIBUTES, HA_INSTANCE_ATTRIBUTES_entry),
	MAKE_ENTRY(HA_LOCATION_CONSTRAINT_RULE, HA_LOCATION_CONSTRAINT_RULE_entry),
};


Beispiel #5
0
#define NDEBUG
#include <debug.h>

typedef struct _VIDEO_PORT_FUNCTION_TABLE {
    PVOID Address;
    PCSZ Name;
} *PVIDEO_PORT_FUNCTION_TABLE, VIDEO_PORT_FUNCTION_TABLE;

/* GLOBAL VARIABLES ***********************************************************/

#define VP_EXPORTED_FUNCS (sizeof(VideoPortExports) / sizeof(*VideoPortExports))

/* Create an array of entries with pfn, psz, for IntVideoPortGetProcAddress */
#define MAKE_ENTRY(FUNCTIONNAME) { FUNCTIONNAME, #FUNCTIONNAME }
const VIDEO_PORT_FUNCTION_TABLE VideoPortExports[] = {
    MAKE_ENTRY(VideoPortQueueDpc),
    MAKE_ENTRY(VideoPortAllocatePool),
    MAKE_ENTRY(VideoPortFreePool),
    MAKE_ENTRY(VideoPortReleaseCommonBuffer),
    MAKE_ENTRY(VideoPortAllocateCommonBuffer),
    MAKE_ENTRY(VideoPortCreateSecondaryDisplay),
    MAKE_ENTRY(VideoPortGetDmaAdapter),
    MAKE_ENTRY(VideoPortGetVersion),
    MAKE_ENTRY(VideoPortLockBuffer),
    MAKE_ENTRY(VideoPortUnlockBuffer),
    MAKE_ENTRY(VideoPortSetEvent),
    MAKE_ENTRY(VideoPortClearEvent),
    MAKE_ENTRY(VideoPortReadStateEvent),
    MAKE_ENTRY(VideoPortRegisterBugcheckCallback),
    MAKE_ENTRY(VideoPortCreateEvent),
    MAKE_ENTRY(VideoPortDeleteEvent),
                }
            }
            return entry->name;
        }
        entry++;
    }

    return NULL;
}

// Attribute -> String table, generated using:
//
// grep 'define.*\/\*' NVCtrl.h | sed 's/.*define \([^ ]*\).*/    MAKE_ENTRY(\1),/' > DATA | head DATA
//
static AttrEntry attr_int_table[] = {
    MAKE_ENTRY(NV_CTRL_FLATPANEL_SCALING),
    MAKE_ENTRY(NV_CTRL_FLATPANEL_DITHERING),
    MAKE_ENTRY(NV_CTRL_DITHERING),
    MAKE_ENTRY(NV_CTRL_DIGITAL_VIBRANCE),
    MAKE_ENTRY(NV_CTRL_BUS_TYPE),
    MAKE_ENTRY(NV_CTRL_VIDEO_RAM),
    MAKE_ENTRY(NV_CTRL_IRQ),
    MAKE_ENTRY(NV_CTRL_OPERATING_SYSTEM),
    MAKE_ENTRY(NV_CTRL_SYNC_TO_VBLANK),
    MAKE_ENTRY(NV_CTRL_LOG_ANISO),
    MAKE_ENTRY(NV_CTRL_FSAA_MODE),
    MAKE_ENTRY(NV_CTRL_TEXTURE_SHARPEN),
    MAKE_ENTRY(NV_CTRL_UBB),
    MAKE_ENTRY(NV_CTRL_OVERLAY),
    MAKE_ENTRY(NV_CTRL_STEREO),
    MAKE_ENTRY(NV_CTRL_EMULATE),
/* done with the vector definition */
#undef VMBIF_DEFINE_VECTOR

#define MAKE_ENTRY(entry_name, entry_table) \
    { entry_name, sizeof(entry_table)/sizeof(entry_table[0]), entry_table }

/* ------------------------------------------------------------------------ */
/*
 *   The function set registration table.  Each entry in the table
 *   provides the definition of one function set, keyed by the function
 *   set's universally unique identifier.  
 */
vm_bif_entry_t G_bif_reg_table[] =
{
    /* T3 VM system function set, v1 */
    MAKE_ENTRY("t3vm/010003", G_bif_t3),

    /* T3 VM Testing interface, v1 */
    MAKE_ENTRY("t3vmTEST/010000", G_bif_t3_test),
    
    /* TADS generic data manipulation functions */
    MAKE_ENTRY("tads-gen/030005", G_bif_tadsgen),

    // Our sample function set for the t3core build
    MAKE_ENTRY("core-sample/010000", G_bif_sample),

    // !!! ADD ANY HOST-SPECIFIC FUNCTION SETS HERE

    /* end of table marker */
    { 0, 0, 0 }
};
Beispiel #8
0
#undef VMBIF_DEFINE_VECTOR

#define MAKE_ENTRY(entry_name, cls) \
    { entry_name, countof(cls::bif_table), cls::bif_table, \
      &cls::attach, &cls::detach }

/* ------------------------------------------------------------------------ */
/*
 *   The function set registration table.  Each entry in the table
 *   provides the definition of one function set, keyed by the function
 *   set's universally unique identifier.  
 */
vm_bif_entry_t G_bif_reg_table[] =
{
    /* T3 VM system function set, v1 */
    MAKE_ENTRY("t3vm/010003", CVmBifT3),

    /* T3 VM Testing interface, v1 */
    MAKE_ENTRY("t3vmTEST/010000", CVmBifT3Test),
    
    /* TADS generic data manipulation functions */
    MAKE_ENTRY("tads-gen/030005", CVmBifTADS),

    // Our sample function set for the t3core build
    MAKE_ENTRY("core-sample/010000", CVmBifSample),

    // !!! ADD ANY HOST-SPECIFIC FUNCTION SETS HERE

    /* end of table marker */
    { 0, 0, 0 }
};