Start New Discussion within our Software Development Community

Hi, I know this is an old topic, but I still haven't found a solution I completely understood. So I'll just post my case.

I'm trying to implement easyhttpd, a server class into an existing ogre class. This httpd server works with a callback function that I need to provide but it would be an immense amount of work to have all the functionality I need to be static. Is there any workaround, some sort of trick to get past this problem? I hope you understand what I mean. I find these things hard to explain, so I'll just post my code:

class OgreApplication: public UndefOgre {
protected:
public:
	OgreApplication() {
	}
	
	~OgreApplication() {
	}
	
        //THIS FUNCTION SHOULD BE STATIC
	int handleIndex( ehttp &obj, void *cookie )
	{
		obj.out_set_file( "index_template.html");
		
	}
	
protected:
	void createScene(void) {
		//create httpd server
		ehttp	http;
		// Initalize EhttpD
		if( http.init() != EHTTP_ERR_OK )
		{
			cout << "ERROR: CAN'T INITIALIZE SERVER" << endl;
			exit(1);
		}
		
		http.add_handler("/", handleIndex ); //THIS DOES NOT WORK
		
		mSceneMgr->setAmbientLight(ColourValue(.1, .1, .1));
		for (int i = 0; i < 20; i++) {
			SceneNode *node = mSceneMgr->getRootSceneNode()->createChildSceneNode();
			Entity *ent1 = mSceneMgr->createEntity(strcomb("BPathCube", nextNum("BPathCube")), SceneManager::PT_CUBE);
			ent1->setMaterialName("test");
			
			node->attachObject(ent1);
			node->setScale(.2, .2, .2);
			node->setPosition(0, 0, i * 80);
			node->setVisible(true);
		}
	}
};

thank you very much

This article has been dead for over six months. Start a new discussion instead.