Network.pkg 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. $#include "Network.h"
  2. class Network
  3. {
  4. bool Connect(const String address, unsigned short port, Scene* scene, const VariantMap& identity = Variant::emptyVariantMap);
  5. void Disconnect(int waitMSec = 0);
  6. bool StartServer(unsigned short port);
  7. void StopServer();
  8. void BroadcastMessage(int msgID, bool reliable, bool inOrder, const VectorBuffer& msg, unsigned contentID = 0);
  9. void BroadcastRemoteEvent(StringHash eventType, bool inOrder, const VariantMap& eventData = Variant::emptyVariantMap);
  10. void BroadcastRemoteEvent(const String eventType, bool inOrder, const VariantMap& eventData = Variant::emptyVariantMap);
  11. void BroadcastRemoteEvent(Scene* scene, StringHash eventType, bool inOrder, const VariantMap& eventData = Variant::emptyVariantMap);
  12. void BroadcastRemoteEvent(Scene* scene, const String eventType, bool inOrder, const VariantMap& eventData = Variant::emptyVariantMap);
  13. void BroadcastRemoteEvent(Node* node, StringHash eventType, bool inOrder, const VariantMap& eventData = Variant::emptyVariantMap);
  14. void BroadcastRemoteEvent(Node* node, const String eventType, bool inOrder, const VariantMap& eventData = Variant::emptyVariantMap);
  15. void SetUpdateFps(int fps);
  16. void RegisterRemoteEvent(StringHash eventType);
  17. void RegisterRemoteEvent(const String eventType);
  18. void UnregisterRemoteEvent(StringHash eventType);
  19. void UnregisterRemoteEvent(const String eventType);
  20. void UnregisterAllRemoteEvents();
  21. void SetPackageCacheDir(const String path);
  22. void SendPackageToClients(Scene* scene, PackageFile* package);
  23. // SharedPtr<HttpRequest> MakeHttpRequest(const String url, const String verb = String::EMPTY, const Vector<String>& headers = Vector<String>(), const String postData = String::EMPTY);
  24. tolua_outside HttpRequest* NetworkMakeHttpRequest @ MakeHttpRequest(const String url, const String verb = String::EMPTY, const Vector<String>& headers = Vector<String>(), const String postData = String::EMPTY);
  25. int GetUpdateFps() const;
  26. Connection* GetServerConnection() const;
  27. bool IsServerRunning() const;
  28. bool CheckRemoteEvent(StringHash eventType) const;
  29. const String GetPackageCacheDir() const;
  30. tolua_property__get_set int updateFps;
  31. tolua_readonly tolua_property__get_set Connection* serverConnection;
  32. tolua_readonly tolua_property__is_set bool serverRunning;
  33. tolua_property__get_set String packageCacheDir;
  34. };
  35. Network* GetNetwork();
  36. tolua_readonly tolua_property__get_set Network* network;
  37. ${
  38. #define TOLUA_DISABLE_tolua_NetworkLuaAPI_GetNetwork00
  39. static int tolua_NetworkLuaAPI_GetNetwork00(lua_State* tolua_S)
  40. {
  41. return ToluaGetSubsystem<Network>(tolua_S);
  42. }
  43. #define TOLUA_DISABLE_tolua_get_network_ptr
  44. #define tolua_get_network_ptr tolua_NetworkLuaAPI_GetNetwork00
  45. static HttpRequest* NetworkMakeHttpRequest(Network* network, const String& url, const String& verb = String::EMPTY, const Vector<String>& headers = Vector<String>(), const String postData = String::EMPTY)
  46. {
  47. if (!network)
  48. return 0;
  49. SharedPtr<HttpRequest> httpRequestPtr = network->MakeHttpRequest(url, verb, headers, postData);
  50. HttpRequest* httpRequest = httpRequestPtr.Get();
  51. httpRequestPtr.Detach();
  52. return httpRequest;
  53. }
  54. $}