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; }
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; }
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(); }
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; }
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; }
Map StringMap_create() { Map map = Map_create(); map->compareKeys = strcmp; return map; }