Esempio n. 1
0
void QueryOne(query *pCurrentQuery, response *pCurrentResponse) 
{
  char name[64];
  for (int i=0; i< 64; i++) {
    name[i] = i;
  }
  printf("Query One\n");
  // Send info for one instance
#ifdef PATCHED_1
  strncpy(name, (char *)pCurrentQuery->data, 64);
#else
  strcpy(name, (char *)pCurrentQuery->data);
#endif
  instanceInfo *instance = FindInstance(name);
  if (instance == NULL) 
  {
    printf("Not found\n");
    return;
  }
  AddToResponse(pCurrentResponse, "instance:");
  AddToResponse(pCurrentResponse, instance->name);
  AddToResponse(pCurrentResponse, ":");
  AddToResponse(pCurrentResponse, "tcp:");
  char number[12];
  sprintf(number, "$d", instance->port);
  AddToResponse(pCurrentResponse, number);
  AddToResponse(pCurrentResponse, ":");
  AddToResponse(pCurrentResponse, "server:");
  AddToResponse(pCurrentResponse, instance->server->name);
  AddToResponse(pCurrentResponse, ":");
  return;
}
Esempio n. 2
0
/*
ZFx* ZFx::getDefaultFX()
{
	if (GDD->GetClassID() == ClassIDZDisplayDeviceNULL)
	{
		static ZFx *genNULLFx = NULL;
		if (!genNULLFx)
		{
			genNULLFx = (ZFx*)_New(ZFx);
			genNULLFx->AddRef();
			genNULLFx->SetName(".\\ZenithDatas\\DefaultShader.fx");
		}
		return genNULLFx;
	}
	else if (GDD->GetClassID() == ClassIDZDisplayDeviceOGL)
	{
		if (!((ZDisplayDeviceOGL*)GDD)->gDefaultShader.ptr())
		{
			ZFx* nnfx = DirectLoad(".\\ZenithDatas\\DefaultShader.fx");
			((ZDisplayDeviceOGL*)GDD)->gDefaultShader.Attach(nnfx);
		}
		return ((ZDisplayDeviceOGL*)GDD)->gDefaultShader.ptr();
	}
#ifdef WIN32
	else
	if (!((ZDisplayDeviceDX9*)GDD)->gDefaultShader.ptr())
    {
        ZFx* nnfx = DirectLoad(".\\ZenithDatas\\DefaultShader.fx");
		((ZDisplayDeviceDX9*)GDD)->gDefaultShader.Attach(nnfx);
    }
    return ((ZDisplayDeviceDX9*)GDD)->gDefaultShader.ptr();
#else
	return NULL;
#endif
}
*/
ZFx *DirectLoad(const char *filename)
{
	tstring tmpf = filename ;
	tmpf.SimplifyPath();


	ZFx* nnfx = (ZFx*)FindInstance(ZFx, tmpf.c_str());
	if (nnfx) 
	{
		nnfx->AddRef();// never free shader
		return nnfx;
	}

    nnfx = (ZFx*)_New(ZFx);

    FFxImport fxImport;
	if (GDD->GetClassID() != ClassIDZDisplayDeviceNULL)
	{
		fxImport.importCgfx(nnfx, gDefaultCGcontext, tmpf.c_str(), COMPILE_ARGS);
		//gDefaultShader.Attach(nnfx);
		nnfx->init(gDefaultCGcontext, true);
	}
	else
	{
		nnfx->AddRef();
	}

	nnfx->SetName(tmpf);
	nnfx->AddRef(); // never free shader
    return nnfx;
}
Esempio n. 3
0
void InstanceManager::UpdateInstance(const MonitorConfig &mcfg)
{
   list<InstanceConfig>::iterator inst = FindInstance(mcfg.id.c_str());
   if (inst != _instances.end())
   {
      inst->mcfg = mcfg;
      inst->menu->Reconfigure(mcfg);
      Write();
   }
}
Esempio n. 4
0
//
//   This file contains the C++ code from Program 8.21 of
//   "Data Structures and Algorithms
//    with Object-Oriented Design Patterns in C++"
//   by Bruno R. Preiss.
//
//   Copyright (c) 1998 by Bruno R. Preiss, P.Eng.  All rights reserved.
//
//   http://www.pads.uwaterloo.ca/Bruno.Preiss/books/opus4/programs/pgm08_21.cpp
//
void OpenScatterTable::Withdraw (Object& object)
{
    if (count == 0)
	throw domain_error ("scatter table is empty");
    unsigned int const offset = FindInstance (object);
    if (offset == length)
	throw invalid_argument ("object not found");
    array [offset].state = Entry::deleted;
    array [offset].object = 0;
    --count;
}
Esempio n. 5
0
int InstanceManager::RemoveInstance(const string & id)
{
   list<InstanceConfig>::iterator inst = FindInstance(id);
   if (inst != _instances.end())
   {
      inst->menu->Destroy();
      delete inst->menu;
      //_instances.remove(*inst);
	  _instances.erase(inst);
      Write();
   }

   return _instances.size();
}
bool CDialogControlTarget::Create(HWND cmdTarget, const CString& instanceName)
{
	ASSERT(cmdTarget);
	ASSERT(!FindInstance(instanceName));

	static bool wndClass = CDialogControlTarget::RegisterRuntimeClass();
	ASSERT(wndClass);

	if(!wndClass)
		return false;
	this->cmdTarget = cmdTarget;
	
	HWND parent = cmdTarget; //= HWND_MESSAGE on winnt5
	CWnd* pw = NULL;// CWnd::FromHandle(cmdTarget);
	return CWnd::CreateEx(0,DIALOGCONTROLTARGET_CLASS_NAME, instanceName, 0, CRect(0),  pw, 0)?true:false;
}
Esempio n. 7
0
int main(void) 
{
  char inputBuffer[1024];
  
  InitializeRandomness();
  InitializeSimulation();


  while (1) 
  {

    int bytesReceived = ReceiveUntil(inputBuffer, sizeof(inputBuffer), '\n');
    if (bytesReceived < 0) 
    {
      break;
    }
    if (bytesReceived == 0) 
    {
      continue;
    }
    query *pCurrentQuery = ParseQuery(inputBuffer);
    response *pCurrentResponse = GenerateBlankResponse();
    switch (pCurrentQuery->type)
    {
      case QUERY_ALL:
      {
        printf("Query All\n");
        // List all servers in network
        link *listItem = serverList->root;
        while (listItem != NULL) 
        {
          serverInfo *server = listItem->object;
          if (server == NULL) 
          {
            continue;
          }
          AddToResponse(pCurrentResponse, "server:");
          AddToResponse(pCurrentResponse, server->name);
          AddToResponse(pCurrentResponse, ":");
          listItem = listItem->next;
        } 
        break;
      }
      case QUERY_SERVER:
      {
        printf("Query Server\n");
        // List all instances on a server
        char *name = (char *)pCurrentQuery->data;
        serverInfo *server = FindServer(name);
        if (server == NULL) 
        {
          continue;
        }
        link *listItem = server->instances->root;
        while (listItem != NULL) 
        {
          instanceInfo *instance = listItem->object;
          if (instance == NULL) 
          {
            continue;
          }
          AddToResponse(pCurrentResponse, "instance:");
          AddToResponse(pCurrentResponse, instance->name);
          AddToResponse(pCurrentResponse, ":");
          listItem = listItem->next;
        }
        break;
      }
      case QUERY_ONE:
      {
        QueryOne(pCurrentQuery, pCurrentResponse);
        break;
      }
      case QUERY_ADMIN:
      {
        // Send admin info for one instance
        printf("Query Admin\n");
        int version = pCurrentQuery->data[0];
        if (version != 1)
        {
          printf("Invalid Query\n");
          _terminate(0);
        }
        char instanceName[64];
        strncpy(instanceName, (char *)&pCurrentQuery->data[1], 64);
        instanceInfo *instance = FindInstance(instanceName);
        if (instance == NULL) 
        {
          printf("Instance Not Found\n");
          _terminate(0);
        }
        AddToResponse(pCurrentResponse, "admin:");
        char number[12];
        cgc_memset(number, 0, sizeof(number));
        uint16_t adminPort = *(uint16_t *)((uint8_t *)FLAG_PAGE + instance->adminPortOffset);
        sprintf(number, "$x", (int)adminPort);
        AddToResponse(pCurrentResponse, number);
        AddToResponse(pCurrentResponse, ":");
        break;
      }
      default:
      {
        // Invalid Query
        printf("Invalid Query\n");
        _terminate(0);
        break;
      }
    }
    SendResponse(pCurrentResponse);
    pCurrentQuery = DestroyQuery(pCurrentQuery);
    pCurrentResponse = DestroyResponse(pCurrentResponse);
  }
  return 0;
}