コード例 #1
0
ファイル: script_app.cpp プロジェクト: asea1718/firestr
            void script_app::init()
            {
                INVARIANT(root());
                INVARIANT(layout());
                INVARIANT(_conversation);
                INVARIANT(_app);

                //setup frontend
                setup_decorations();

                _canvas = new QWidget;
                _canvas_layout = new QGridLayout{_canvas};
                layout()->addWidget(_canvas, 1,0,2,3);
                auto front = std::make_shared<qtw::qt_frontend>(_canvas, _canvas_layout, nullptr);
                connect(front.get(), SIGNAL(alerted()), this, SLOT(got_alert()));

                _front = std::make_shared<qtw::qt_frontend_client>(front);

                set_main(_canvas);

                //setup mail
                _mail = std::make_shared<m::mailbox>(_id);
                _sender = std::make_shared<ms::sender>(_conversation->user_service(), _mail);

                //setup api and backend
                _api = std::make_shared<l::lua_api>(
                        _app, 
                        _sender, 
                        _conversation, 
                        _conversation_service, 
                        _front.get());
                _api->who_started_id = _from_id;

                _back = std::make_shared<l::backend_client>(_api.get(), _mail); 

                //assign backend to frontend
                _front->set_backend(_back.get());

                //run script and start backend on seperate thread
                _back->run(_app->code());
                _back->start();

                //setup mail service
                INVARIANT(_api);
                INVARIANT(_front);
                INVARIANT(_back);
                INVARIANT(_conversation);
                INVARIANT(_mail);
                INVARIANT(_sender);
            }
コード例 #2
0
ファイル: script_app.cpp プロジェクト: mempko/firestr
            void script_app::init()
            {
                INVARIANT(root());
                INVARIANT(layout());
                INVARIANT(_conversation);
                INVARIANT(_app);

                //setup frontend
                setup_decorations();

                _canvas = new QWidget;
                _canvas_layout = new QGridLayout{_canvas};
                layout()->addWidget(_canvas, 1,0,2,3);
                set_main(_canvas);

                //setup mail
                _mail = std::make_shared<m::mailbox>(_id);
                _sender = std::make_shared<ms::sender>(_conversation->user_service(), _mail);

                ENSURE(_mail);
                ENSURE(_sender);
            }