Jump to content

[SOLVED] MakeExternObjectFunction with overloaded functions


photo

Recommended Posts

Hi,  :rolleyes:

I have two overloaded functions defined as below:

 

void sendCmd(const SharedData &buf);

 

void sendCmd(const Unigine::Ptr<Unigine::Buffer>& ptr);

 

and in the interpreter I defined two script functions:

 


Interpreter::addExternFunction("network.sendCmd",

MakeExternObjectFunction(net_sync,(int (Net_Sync::*)(const SharedData&))&Net_Sync::sendCmd));

 

Interpreter::addExternFunction("network.sendCmd",

MakeExternObjectFunction(net_sync,(int (Net_Sync::*)(const Unigine::Ptr<Unigine::Buffer>&))&Net_Sync::sendCmd));

 

But the grammer does not work. 

What is the right usage of declaring two overloaded function with MakeExternObjectFunction call?

 

Thanks!

Link to comment

An idea:

 

- Functions

static void sendCmd(const SharedData &buf) {}

typedef Unigine::Ptr<Unigine::Buffer> BuffPtr;
static void sendCmd(const BuffPtr& ptr) {}

 

 

- Export


Interpreter::addExternFunction("network.sendCmd",MakeExternFunction((void(*)(const SharedData&)) &Net_Sync::sendCmd));
Interpreter::addExternFunction("network.sendCmd",MakeExternFunction((void(*)(const BuffPtr&)) &Net_Sync::sendCmd));
Link to comment

An idea:

 

- Functions

static void sendCmd(const SharedData &buf) {}

typedef Unigine::Ptr<Unigine::Buffer> BuffPtr;
static void sendCmd(const BuffPtr& ptr) {}

 

 

- Export

 

Interpreter::addExternFunction("network.sendCmd",MakeExternFunction((void(*)(const SharedData&)) &Net_Sync::sendCmd));
Interpreter::addExternFunction("network.sendCmd",MakeExternFunction((void(*)(const BuffPtr&)) &Net_Sync::sendCmd));

Thank you!

Link to comment
×
×
  • Create New...