Esempio n. 1
0
def main():
    global done
    done = False
    # Connect to the central server
    print "\nIPC.IPC_connect(%s)" % MODULE2_NAME
    IPC.IPC_connect(MODULE2_NAME)

    # Define the messages that this module publishes
    print "\nIPC.IPC_defineMsg(%s, IPC_VARIABLE_LENGTH, %s)" % \
          (MSG2, MSG2_FORMAT)
    IPC.IPC_defineMsg(MSG2, IPC.IPC_VARIABLE_LENGTH, MSG2_FORMAT)

    print "\nIPC.IPC_defineMsg(%s, IPC_VARIABLE_LENGTH, %s)" % \
          (RESPONSE1, RESPONSE1_FORMAT)
    IPC.IPC_defineMsg(RESPONSE1, IPC.IPC_VARIABLE_LENGTH, RESPONSE1_FORMAT)

    # Subscribe to the messages that this module listens to
    print "\nIPC.IPC_subscribeData(%s,%s, %s)" % \
          (MSG1, msg1Handler.__name__, MODULE2_NAME)
    IPC.IPC_subscribeData(MSG1, msg1Handler, MODULE2_NAME)

    print "\nIPC.IPC_subscribeData(%s, %s, %s, %s)" % \
          (QUERY1 , queryHandler.__name__, MODULE2_NAME, T1.__name__)
    IPC.IPC_subscribeData(QUERY1, queryHandler, MODULE2_NAME, T1)

    # Subscribe a handler for tty input. Typing "q" will quit the program.
    print "\nIPC_subscribeFD(%d, stdinHnd, %s)" % \
          (sys.stdin.fileno(), MODULE2_NAME)
    IPC.IPC_subscribeFD(sys.stdin.fileno(), stdinHnd, MODULE2_NAME)

    print "\nType 'q' to quit"
    while (not done):
        IPC.IPC_listen(250)

    IPC.IPC_disconnect()