+ boost::optional<boost::filesystem::path> _last_parent;
+ wxSizer* _sizer;
+ wxPreferencesEditor* _config_dialog;
+ ServersListDialog* _servers_list_dialog;
+ wxButton* _pause;
+ wxButton* _resume;
+};
+
+static const wxCmdLineEntryDesc command_line_description[] = {
+ { wxCMD_LINE_PARAM, 0, 0, "film to load", wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_MULTIPLE | wxCMD_LINE_PARAM_OPTIONAL },
+ { wxCMD_LINE_NONE, "", "", "", wxCmdLineParamType (0), 0 }
+};
+
+class JobServer : public Server
+{
+public:
+ explicit JobServer (DOMFrame* frame)
+ : Server (BATCH_JOB_PORT)
+ , _frame (frame)
+ {}
+
+ void handle (shared_ptr<Socket> socket)
+ {
+ try {
+ int const length = socket->read_uint32 ();
+ scoped_array<char> buffer (new char[length]);
+ socket->read (reinterpret_cast<uint8_t*> (buffer.get()), length);
+ string s (buffer.get());
+ _frame->start_job (s);
+ socket->write (reinterpret_cast<uint8_t const *> ("OK"), 3);
+ } catch (...) {
+
+ }