Example #1
0
void GlobalItemManager::releaseAvatarInventory(AvatarInventoryItem* inventory) {
  for (int i = 0; i < AVATAR_INVENTORY_SIZE; ++i) {
    inventory[i].equipped = false;
    inventory[i].stackable = false;
    releaseItem(&inventory[i].item);
  }
}
Example #2
0
void GlobalItemManager::releaseWorldRegionItems(
    WorldRegion_LocalItems* local_items,
    WorldRegion_LocalItems::iterator first,
    WorldRegion_LocalItems::iterator last) {
  for (WorldRegion_LocalItems::iterator i = first; i != last; ++i) {
    releaseItem(&i->second);
  }
  local_items->erase(first, last);
}
Example #3
0
void GlobalItemManager::releaseWorldRegionItems(
    WorldRegion_LocalItems* local_items) {
  WorldRegion_LocalItems::iterator lower = local_items->begin();
  WorldRegion_LocalItems::iterator upper = local_items->end();
  for (WorldRegion_LocalItems::iterator i = lower; i != upper; ++i) {
    releaseItem(&i->second);
  }
  local_items->clear();
}
Example #4
0
void CacheHost::requestAcquire(Cacheable *item) {
	assert(item->getFootprint() < p_limit);

	item->acquire();
	
	std::unique_lock<std::mutex> lock(p_listMutex);
	
	assert(!item->p_alive);
	item->p_alive = true;
	p_activeFootprint += item->getFootprint();
	
	// insert the item at the end of the lru queue
	item->p_moreRecentlyUsed = &p_sentinel;
	item->p_lessRecentlyUsed = mostRecently();
	mostRecently()->p_moreRecentlyUsed = item;
	mostRecently() = item;

	while(p_activeFootprint > p_limit)
		releaseItem(leastRecently(), lock);
}
Example #5
0
int main(void)
{
    bool isRunning = true;
    char* pUserInput;
    char* userInput = NULL;
    item* it = NULL;
    userInput = malloc(sizeof(char)*1024);
    assert(userInput != NULL);
    pUserInput = userInput;
    performRotCheck();
    system(CALL_DOWNLOAD_SCRIPT);
    while(isRunning)
    {
        printf(">>");
        char command = 0;
        fgets(userInput, MAX_COMMAND_LEN-1, stdin);
        if(!decodeCommand(userInput, &command))
        {
            printf("\tCommand error.\n");
            continue;
        } else if(command != 0)
        {
            it = parseItem(userInput);
            if(it == NULL)
            {
                printf("The creation of item you provided was not successful.\n");
                continue;
            }
            if(!performCommand(command, it))
            {
                fprintf(stderr, "Error.\n");
            }
        } else {
            isRunning = false;
        }
        releaseItem(&it);
    }
    free(pUserInput);
}
Example #6
0
void GlobalItemManager::releaseAvatarInventoryItem(AvatarInventoryItem* inventory_item) {
  inventory_item->equipped = false;
  inventory_item->stackable = false;
  releaseItem(&inventory_item->item);
}