1 #ifndef SHARED_MEMORY_COMMAND_PROCESSOR_H
2 #define SHARED_MEMORY_COMMAND_PROCESSOR_H
3 
4 #include "PhysicsCommandProcessorInterface.h"
5 
6 class SharedMemoryCommandProcessor : public PhysicsCommandProcessorInterface
7 {
8 	struct SharedMemoryCommandProcessorInternalData* m_data;
9 
10 public:
11 	SharedMemoryCommandProcessor();
12 
13 	virtual ~SharedMemoryCommandProcessor();
14 
15 	virtual bool connect();
16 
17 	virtual void disconnect();
18 
19 	virtual bool isConnected() const;
20 
21 	virtual bool processCommand(const struct SharedMemoryCommand& clientCmd, struct SharedMemoryStatus& serverStatusOut, char* bufferServerToClient, int bufferSizeInBytes);
22 
23 	virtual bool receiveStatus(struct SharedMemoryStatus& serverStatusOut, char* bufferServerToClient, int bufferSizeInBytes);
24 
25 	virtual void renderScene(int renderFlags);
26 	virtual void physicsDebugDraw(int debugDrawFlags);
27 	virtual void setGuiHelper(struct GUIHelperInterface* guiHelper);
28 
29 	void setSharedMemoryInterface(class SharedMemoryInterface* sharedMem);
30 	void setSharedMemoryKey(int key);
31 	virtual void setTimeOut(double timeOutInSeconds);
32 
reportNotifications()33 	virtual void reportNotifications() {}
34 };
35 
36 #endif  //SHARED_MEMORY_COMMAND_PROCESSOR_H
37