Think I've found an issue. The class
com.parc.goodstuff.simple.HelloWorldService extends
simple.http.load.BasicService, and my JCC (2.7) chokes on it thusly:
build/_PPD/com/parc/goodstuff/simple/HelloWorld/HelloWorldService.h: At global
scope:
build/_PPD/com/parc/goodstuff/simple/HelloWorld/HelloWorldService.h:22: error:
‘com::parc::goodstuff::simple::http’ has not been declared
Looks like namespace confusion. Toplevel 'simple' clashes with the
package 'com.parc.goodstuff.simple'. Shouldn't line 22 say something
like
class HelloWorldService : public ::simple::http::load::BasicService {
instead of
class HelloWorldService : public simple::http::load::BasicService {
? (Not sure that's valid C++, though :-).
Here's the header file:
#ifndef com_parc_goodstuff_simple_HelloWorld_HelloWorldService_H
#define com_parc_goodstuff_simple_HelloWorld_HelloWorldService_H
#include "simple/http/load/BasicService.h"
namespace java {
namespace lang {
class Exception;
class String;
class Class;
}
}
template<class T> class JArray;
namespace com {
namespace parc {
namespace goodstuff {
namespace simple {
namespace HelloWorld {
class HelloWorldService : public simple::http::load::BasicService {
public:
enum {
mid_main_4dd4540c,
max_mid
};
static java::lang::Class *class$;
static jmethodID *mids$;
static jclass initializeClass();
explicit HelloWorldService(jobject obj) :
simple::http::load::BasicService(obj) {
if (obj != NULL)
initializeClass();
}
HelloWorldService(const HelloWorldService& obj) :
simple::http::load::BasicService(obj) {}
static void main(const JArray<java::lang::String>&);
};
}
}
}
}
}
#include <Python.h>
namespace com {
namespace parc {
namespace goodstuff {
namespace simple {
namespace HelloWorld {
extern PyTypeObject PY_TYPE(HelloWorldService);
class t_HelloWorldService {
public:
PyObject_HEAD
HelloWorldService object;
static PyObject *wrap_Object(const HelloWorldService&);
static PyObject *wrap_jobject(const jobject&);
static void install(PyObject *module);
static void initialize(PyObject *module);
};
}
}
}
}
}
#endif