コード例 #1
0
ファイル: mms_server.c プロジェクト: andy-w/libiec61850
MmsServer
MmsServer_create(IsoServer isoServer, MmsDevice* device)
{
	MmsServer self = calloc(1, sizeof(struct sMmsServer));

	self->isoServer = isoServer;
	self->device = device;
	self->openConnections = Map_create();
	self->valueCaches = createValueCachesForDomains(device);
	self->isLocked = false;

	return self;
}
コード例 #2
0
ファイル: mms_server.c プロジェクト: andy-w/libiec61850
static Map
createValueCachesForDomains(MmsDevice* device)
{
	Map valueCaches =  Map_create();

	int i;
	for (i = 0; i < device->domainCount; i++) {
		MmsValueCache valueCache = MmsValueCache_create(device->domains[i]);
		Map_addEntry(valueCaches, device->domains[i], valueCache);
	}

	return valueCaches;
}
コード例 #3
0
ファイル: InGame.c プロジェクト: MickaelSERENO/ET3_Project_C
void InGame_loadMap(InGame* self, const char* path)
{
	//Check if we have a map
	if(self->map)
		Map_destroy(self->map);
	//Then create it
	self->map = Map_create(path);
	if(self->map == NULL)
	{
		perror("Error while loading the map \n");
		return;
	}
	//Reinit the time
	self->initTime = self->currentTime = SDL_GetTicks();
}
コード例 #4
0
ファイル: mms_server.c プロジェクト: nono19710321/libiec61850
static Map
createValueCaches(MmsDevice* device)
{
    Map valueCaches = Map_create();

    int i;
    for (i = 0; i < device->domainCount; i++) {
        MmsValueCache valueCache = MmsValueCache_create(device->domains[i]);
        Map_addEntry(valueCaches, device->domains[i], valueCache);
    }

#if (CONFIG_MMS_SUPPORT_VMD_SCOPE_NAMED_VARIABLES == 1)
    MmsValueCache valueCache = MmsValueCache_create((MmsDomain*) device);
    Map_addEntry(valueCaches, (MmsDomain*) device, valueCache);
#endif

    return valueCaches;
}
コード例 #5
0
ファイル: mms_server.c プロジェクト: nono19710321/libiec61850
MmsServer
MmsServer_create(IsoServer isoServer, MmsDevice* device)
{
    MmsServer self = (MmsServer) malloc(sizeof(struct sMmsServer));

    memset(self, 0, sizeof(struct sMmsServer));

    self->isoServer = isoServer;
    self->device = device;
    self->openConnections = Map_create();
    self->valueCaches = createValueCaches(device);
    self->isLocked = false;

#if (CONFIG_MMS_THREADLESS_STACK != 1)
    self->modelMutex = Semaphore_create(1);

    IsoServer_setUserLock(isoServer, self->modelMutex);
#endif

    return self;
}
コード例 #6
0
ファイル: string_map.c プロジェクト: andy-w/libiec61850
Map
StringMap_create() {
	Map map = Map_create();
	map->compareKeys = strcmp;
	return map;
}