Yes, but it seems I'm unable to see the wood for the trees.
The concrete situation:
Im developing a Interface that supposedly is going to enable AIs being
written in Python for a C/C++ environment. What I get is a pointer to a
Callback Instance I have to deliver to the AI dev (Python side). The
Instance enables the AI dev to ask question about the Applications state so
the AI reacts accordingly. Now I have a boost::module wrapper for the Class
Im getting a reference of and successfully built a callback so the embedded
Python is able to fetch the Callback Instance coming from the App. But I run
into...
Sandbox:
// The Callback coming from the Application of which I am not allowed to
taint the Source Tree
struct EngineCallback
{
void setInt(int number) { this->number = number; }
void setLoop(bool loop) { this->loop = loop; }
int getInt() { return this->number; }
bool getLoop() { return this->loop; }
int number;
bool loop;
};
EngineCallback* test = new EngineCallback;
// Entrypoint for Python to come ant fetch the Application Callback
shared_ptr<EngineCallback> PyCallback( EngineCallback* &test ) { return
shared_ptr<EngineCallback>(test); } // The Problem? ...how to convert?
// The Wrapper for all this
BOOST_PYTHON_MODULE(EngineCallback)
{
class_
ends in: Traceback (most recent call last): File "test.py", line 5, in <module> test = PyCallback() Boost.Python.ArgumentError: Python argument types in EngineCallback.PyCallback() did not match C++ signature: PyCallback(EngineCallback* {lvalue})
Conversions in PyCallback missing?, how/with what do I accomplish them?
I think Im having trouble with C/C++ more in general than anything else, but
I would appreciate if you could just point to the things I should look at to
understand and come up with a solution.
Thanks in advance,
lwk
On 25 May 2010 15:40, Steven Watanabe
AMDG
Leonhard Weber wrote:
I'm in the same bind this topic describes: http://lists.boost.org/boost-users/2009/02/44749.php Unfortunately the subject didn't tell about the resolution or approach he took to succeed. Can anyone help me?
Basically: I want to expose a C++ Instance to Python at runtime. I have a pointer to the Instance and need to expose that instance to Python.
Have you tried the Boost.Python documentation? http://www.boost.org/libs/python/
In Christ, Steven Watanabe
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org