import IPC
IPC.connectModule("PythonLand", "localhost")
IPC.initialize()
IPC.initializeConverterMap()
IPC.defineMsg("INT_MSG", 0xFFFFFFFF, "{int}")
IPC.defineMsg("INT_2_MSG", 0xFFFFFFFF, "[int : 2]")
IPC.defineMsg("INT_3_MSG", 0xFFFFFFFF, "[int : 3]")

def IntMsgHandler(msgInstance, callData, clientData):
	print "INT_MSG handler called with value: ", callData.v0

def Int2MsgHandler(msgInstance, callData, clientData):
	print "INT_2_MSG handler called with value: ", callData.v0.v0, " ", callData.v1.v0

def Int3MsgHandler(msgInstance, callData, clientData):
	data = callData.get_data()
	print "INT_3_MSG handler called with value: ", data[0], data[1], data[2]

IPC.subscribeData("INT_MSG", IntMsgHandler, None)
IPC.subscribeData("INT_2_MSG", Int2MsgHandler, None)
IPC.subscribeData("INT_3_MSG", Int3MsgHandler, None)
IPC.listenWait(45000)
