00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #include "mayaToEgg_client.h"
00016 #ifdef _WIN32
00017 #include "pystub.h"
00018 #endif
00019
00020
00021
00022
00023
00024
00025 MayaToEggClient::
00026 MayaToEggClient() :
00027 SomethingToEgg("Maya", ".mb")
00028 {
00029 qManager = new QueuedConnectionManager();
00030 qReader = new QueuedConnectionReader(qManager, 0);
00031 cWriter = new ConnectionWriter(qManager, 0);
00032
00033 server.set_host("localhost", 4242);
00034 }
00035
00036 int main(int argc, char *argv[]) {
00037
00038 #ifdef _WIN32
00039
00040 pystub();
00041 #endif
00042
00043 MayaToEggClient prog;
00044
00045 PT(Connection) con = prog.qManager->open_TCP_client_connection(prog.server,0);
00046 if (con.is_null()) {
00047 nout << "Failed to open port to server process.\nMake sure maya2egg_server is running on localhost\n";
00048 exit(1);
00049 }
00050
00051
00052 prog.qReader->add_connection(con);
00053
00054
00055 Filename cwd = ExecutionEnvironment::get_cwd();
00056 string s_cwd = (string)cwd.to_os_specific();
00057 NetDatagram datagram;
00058
00059
00060 datagram.add_uint8(argc);
00061
00062
00063 int i;
00064 for (i = 0; i < argc; i++) {
00065 datagram.add_string(argv[i]);
00066 }
00067
00068
00069 datagram.add_string(s_cwd);
00070
00071
00072 prog.cWriter->send(datagram, con);
00073 con->flush();
00074 while (true) {
00075 prog.qReader->data_available();
00076 if (prog.qManager->reset_connection_available()) {
00077 PT(Connection) connection;
00078 if (prog.qManager->get_reset_connection(connection)) {
00079 prog.qManager->close_connection(con);
00080 return 0;
00081 }
00082 }
00083 Thread::sleep(0.1);
00084 }
00085 }
00086