55#include " mariadb++/exceptions.hpp"
66#include < winsock2.h>
77#include " threading.h"
8- #define INTEL_NO_ITTNOTIFY_API
98#include " ittnotify.h"
109
1110__itt_domain* domainConnection = __itt_domain_create(" connection" );
@@ -64,7 +63,7 @@ game_data* createGameDataDBConnection(param_archive* ar) {
6463 return x;
6564}
6665
67- game_value Connection::cmd_createConnectionArray (uintptr_t , game_value_parameter right) {
66+ game_value Connection::cmd_createConnectionArray (game_state& , game_value_parameter right) {
6867 // #TODO error checking
6968 r_string ip = right[0 ];
7069 int port = right[1 ];
@@ -82,7 +81,7 @@ game_value Connection::cmd_createConnectionArray(uintptr_t, game_value_parameter
8281 return newCon;
8382}
8483
85- game_value Connection::cmd_createConnectionConfig (uintptr_t , game_value_parameter right) {
84+ game_value Connection::cmd_createConnectionConfig (game_state& , game_value_parameter right) {
8685
8786 auto acc = Config::get ().getAccount (right);
8887 if (!acc) return {};
@@ -119,7 +118,7 @@ class callstack_item_WaitForQueryResult : public vm_context::callstack_item {
119118 // push result onto stack.
120119 auto gd_res = new GameDataDBResult ();
121120 gd_res->res = res->data ->res ;
122- s->current_context ->scriptStack [_stackEndAtStart] = game_value (gd_res);
121+ s->get_vm_context () ->scriptStack [_stackEndAtStart] = game_value (gd_res);
123122 d1 = 2 ; // done
124123 } else {
125124 d1 = 3 ; // wait
@@ -138,14 +137,11 @@ class callstack_item_WaitForQueryResult : public vm_context::callstack_item {
138137
139138};
140139
141- game_value Connection::cmd_execute (uintptr_t g , game_value_parameter con, game_value_parameter qu) {
142-
143- auto gs = reinterpret_cast <game_state*>(g);
144-
140+ game_value Connection::cmd_execute (game_state& gs, game_value_parameter con, game_value_parameter qu) {
145141 auto session = con.get_as <GameDataDBConnection>()->session ;
146142 auto query = qu.get_as <GameDataDBQuery>();
147143
148- if (!gs-> current_context -> scheduled ) {
144+ if (!gs. get_vm_context ()-> is_scheduled () ) {
149145
150146 auto statement = session->create_statement (query->getQueryString ());
151147
@@ -169,7 +165,7 @@ game_value Connection::cmd_execute(uintptr_t g , game_value_parameter con, game_
169165 }
170166 // Set up callstack item to suspend while waiting
171167
172- auto & cs = reinterpret_cast <game_state*>(g)-> current_context ->callstack ;
168+ auto & cs = gs. get_vm_context () ->callstack ;
173169
174170 auto gd_res = new GameDataDBAsyncResult ();
175171 gd_res->data = std::make_shared<GameDataDBAsyncResult::dataT>();
@@ -203,7 +199,7 @@ game_value Connection::cmd_execute(uintptr_t g , game_value_parameter con, game_
203199
204200 auto newItem = new callstack_item_WaitForQueryResult (gd_res);
205201 newItem->_parent = cs.back ();
206- newItem->_stackEndAtStart = gs-> current_context ->scriptStack .size ()-2 ;
202+ newItem->_stackEndAtStart = gs. get_vm_context () ->scriptStack .size ()-2 ;
207203 newItem->_stackEnd = newItem->_stackEndAtStart +1 ;
208204 newItem->_varSpace .parent = &cs.back ()->_varSpace ;
209205 cs.emplace_back (newItem);
@@ -213,7 +209,7 @@ game_value Connection::cmd_execute(uintptr_t g , game_value_parameter con, game_
213209__itt_string_handle* connection_cmd_executeAsync = __itt_string_handle_create(" Connection::cmd_executeAsync" );
214210__itt_string_handle* connection_cmd_executeAsync_task = __itt_string_handle_create(" Connection::cmd_executeAsync::task" );
215211
216- game_value Connection::cmd_executeAsync (uintptr_t , game_value_parameter con, game_value_parameter qu) {
212+ game_value Connection::cmd_executeAsync (game_state& , game_value_parameter con, game_value_parameter qu) {
217213 __itt_task_begin (domainConnection, __itt_null, __itt_null, connection_cmd_executeAsync);
218214 auto session = con.get_as <GameDataDBConnection>()->session ;
219215 auto query = qu.get_as <GameDataDBQuery>();
0 commit comments