Пример #1
0
LONG StorageSystemFile::dispatchMessage(USHORT usMsg, LONG lParam1, LONG lParam2)
{
  switch (usMsg)
  {
    case MMIOM_IDENTIFYFILE:
      return identifyFile((PSZ)lParam1, (HMMIO)lParam2);

    case MMIOM_OPEN:
      return open((PSZ)lParam1);

    case MMIOM_READ:
      return read((PSZ)lParam1, lParam2);

    case MMIOM_WRITE:
      return write((PSZ)lParam1, lParam2);

    case MMIOM_SEEK:
      return seek(lParam1, lParam2);

    case MMIOM_CLOSE:
      return close((USHORT)lParam1);

    default:
      return defaultResponse(usMsg, lParam1, lParam2);
  }
}
Пример #2
0
LONG MIDIFormat::dispatchMessage(USHORT usMsg, LONG lParam1, LONG lParam2)
{
  switch (usMsg)
  {
    case MMIOM_GETFORMATINFO:
      return getFormatInfo((PMMFORMATINFO)lParam1);

    case MMIOM_GETFORMATNAME:
      return getFormatName((PSZ)lParam1, lParam2);

    case MMIOM_IDENTIFYFILE:
      return identifyFile((PSZ)lParam1, (HMMIO)lParam2);

    default:
      return defaultResponse();
  }
}
Пример #3
0
void pthread_talk(int connectfd, struct sockaddr_in cli_addr) {
  char sendBuffer[bufsize];
  char recvBuffer[bufsize];

  char _cli_addr[bufsize];
  strcpy(_cli_addr, inet_ntoa(cli_addr.sin_addr));
  int _cli_port = ntohs(cli_addr.sin_port);

  int ret;

  while (1) {
    ret = recvPackage(&connectfd, recvBuffer, bufsize);
    if (ret != 0) {
      cJSON *function = cJSON_Parse(recvBuffer);
      int header = cJSON_GetObjectItem(function, "header")->valueint;
      if (header == 0)
        cJSON_AddStringToObject(function, "ipaddress", _cli_addr);
      printf("%d\n", header);
      switch (header) {
        case LOGIN_REQUEST:
          loginResponse(function, sendBuffer);
          break;
        case LOGOUT_REQUEST:
          logoutResponse(function, sendBuffer);
          break;
        case GETFRIEND_REQUEST:
          getfriendResponse(function, sendBuffer);
          break;
        case ADDFRIEND_REQUEST:
          addfriendResponse(function, sendBuffer);
          break;
        case GETIP_REQUEST:
          getipResponse(function, sendBuffer);
          break;
        case GETGROUP_REQUEST:
          getgroupResponse(function, sendBuffer);
          break;
        case ADDGROUP_REQUEST:
          addgroupResponse(function, sendBuffer);
          break;
        case SEARCH_REQUEST:
          searchResponse(function, sendBuffer);
          break;
        case SAVELOG_REQUEST:
          savelogResponse(function, sendBuffer);
          break;
        case UPDATE_REQUEST:
          updateResponse(function, sendBuffer);
          break;
        case IMALIVE_REQUEST:
          imaliveResponse(function, sendBuffer);
          break;
        default:
          defaultResponse(function, sendBuffer);
          break;
      }
      sendMessage(&connectfd, sendBuffer, strlen(sendBuffer) + 1);
    }
  }
  close(connectfd);
}