Subversion Repositories HomeAutomation

Rev

Rev 1959 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | SVN | RSS feed

  1.  
  2. var Socket_Connections = {};
  3.  
  4. var SOCKET_STATE_CONNECTED      = 0x00;
  5. var SOCKET_STATE_DISCONNECTED   = 0x01;
  6. var SOCKET_STATE_ACCEPTED       = 0x02;
  7.  
  8. function Socket_OnNewData(socket_id, server_id, data)
  9. {
  10.   var id = socket_id;
  11.  
  12.   if (!Socket_Connections[id])
  13.   {
  14.     id = server_id;
  15.   }
  16.  
  17.   if (Socket_Connections[id])
  18.   {
  19.     Socket_Connections[id]["ondata"](id, data);
  20.   }
  21.  
  22.   return true;
  23. }
  24.  
  25. function Socket_OnNewState(socket_id, server_id, state)
  26. {
  27.   var id = socket_id;
  28.  
  29.   if (!Socket_Connections[id])
  30.   {
  31.     id = server_id;
  32.   }
  33.  
  34.   if (Socket_Connections[id])
  35.   {
  36.     Socket_Connections[id]["onstate"](id, state);
  37.    
  38.     if (state == SOCKET_STATE_DISCONNECTED)
  39.     {
  40.       delete Socket_Connections[id];
  41.     }
  42.   }
  43.  
  44.   return true;
  45. }
  46.  
  47. function Socket_StartServer(port, ondata_callback, onstate_callback)
  48. {
  49.   socket_id = SocketExport_StartServer(port);
  50.  
  51.   if (socket_id > 0)
  52.   {
  53.     Socket_Connections[socket_id] = { "ondata" : ondata_callback, "onstate" : onstate_callback };
  54.   }
  55.  
  56.   return socket_id;
  57. }
  58.  
  59. function Socket_Connect(address, port, ondata_callback, onstate_callback)
  60. {
  61.   socket_id = SocketExport_Connect(address, port);
  62.  
  63.   if (socket_id > 0)
  64.   {
  65.     Socket_Connections[socket_id] = { "ondata" : ondata_callback, "onstate" : onstate_callback };
  66.   }
  67.  
  68.   return socket_id;
  69. }
  70.  
  71. function Socket_StopServer(socket_id)
  72. {
  73.   SocketExport_StopServer(socket_id);
  74.  
  75.   delete Socket_Connections[socket_id];
  76. }
  77.  
  78. function Socket_Disconnect(socket_id)
  79. {
  80.   SocketExport_Disconnect(socket_id);
  81.  
  82.   delete Socket_Connections[socket_id];
  83. }
  84.  
  85. function Socket_Send(socket_id, data)
  86. {
  87.   SocketExport_Send(socket_id, data);
  88. }
  89.