#include <qnode.hpp>
Public Slots | |
void | installApp (const QModelIndex &index) |
void | installMissingApps (const QStandardItem *) |
void | retrieveAppDetails (const QModelIndex &index) |
void | retrieveClientAppList (const QModelIndex &index) |
void | startSolution () |
void | stopSolution () |
void | uninstallApp (const QModelIndex &index) |
Signals | |
void | appDetailsRetrieved (QStandardItemModel *) |
void | clientAppListRetrieved (QStandardItemModel *) |
void | concertClientsUpdate () |
void | installMissingAppsRequest (const QStandardItem *) |
void | missingAppsInstalled (const QModelIndex &index) |
void | rosShutdown () |
void | solutionRequirementsMet () |
Public Member Functions | |
void | checkSolution (const QModelIndex &index) |
QStandardItemModel * | concertClientsModel () |
bool | init () |
bool | init (const std::string &master_url, const std::string &host_url) |
QNode (int argc, char **argv) | |
void | run () |
virtual | ~QNode () |
Public Attributes | |
Implementations | implementations |
Private Member Functions | |
QString | clientDeviceTriple (const int &row) |
bool | clientIsAndroid (const int &row) |
bool | clientIsConnected (const int &row) |
QStandardItem * | createConcertClientAppsDataElement (const std::string &str, const Qt::Alignment &alignment=Qt::AlignHCenter) |
QStandardItem * | createConcertClientDataElement (const std::string &str, const Qt::Alignment &alignment=Qt::AlignHCenter) |
void | establishRosComms () |
void | getClientAppsData (std::string robot_namespace) |
void | subscribeConcertClients (const concert_msgs::ConcertClientsConstPtr concert) |
void | triggerSolution (bool start=true) |
Private Attributes | |
QStandardItemModel | app_details_model_ |
ros::Publisher | chatter_publisher_ |
QModelIndex | check_solution_index_ |
QStandardItemModel | client_apps_model_ |
QList< QStandardItem * > | client_installable_apps_list_ |
QList< QStandardItem * > | client_installed_apps_list_ |
QStandardItemModel | concert_clients_apps_model_ |
QStandardItemModel | concert_clients_model_ |
concert_msgs::ConcertClientsConstPtr | concert_clients_ptr_ |
ros::Subscriber | concert_clients_subscriber_ |
QModelIndex | current_client_index_ |
unsigned int | current_highlighted_app_ |
int | init_argc_ |
char ** | init_argv_ |
QMutex | mutex_ |
QStringList | solution_device_configurations_ |
rocon_qorchestra::QNode::QNode | ( | int | argc, |
char ** | argv | ||
) |
rocon_qorchestra::QNode::~QNode | ( | ) | [virtual] |
void rocon_qorchestra::QNode::appDetailsRetrieved | ( | QStandardItemModel * | ) | [signal] |
void rocon_qorchestra::QNode::checkSolution | ( | const QModelIndex & | index | ) |
Compare the listed device configurations with the available concert clients and their installed apps. If all necessary configurations are available, allow "Start solutions". Otherwise, if not enough platforms are available, inform the user to wait or if not all apps are installed, ask for the confirmation to install the missing apps. Afterwards allow "Start solution"
void rocon_qorchestra::QNode::clientAppListRetrieved | ( | QStandardItemModel * | ) | [signal] |
QString rocon_qorchestra::QNode::clientDeviceTriple | ( | const int & | row | ) | [private] |
bool rocon_qorchestra::QNode::clientIsAndroid | ( | const int & | row | ) | [private] |
bool rocon_qorchestra::QNode::clientIsConnected | ( | const int & | row | ) | [private] |
QStandardItemModel* rocon_qorchestra::QNode::concertClientsModel | ( | ) | [inline] |
void rocon_qorchestra::QNode::concertClientsUpdate | ( | ) | [signal] |
QStandardItem * rocon_qorchestra::QNode::createConcertClientAppsDataElement | ( | const std::string & | str, |
const Qt::Alignment & | alignment = Qt::AlignHCenter |
||
) | [private] |
QStandardItem * rocon_qorchestra::QNode::createConcertClientDataElement | ( | const std::string & | str, |
const Qt::Alignment & | alignment = Qt::AlignHCenter |
||
) | [private] |
void rocon_qorchestra::QNode::establishRosComms | ( | ) | [private] |
void rocon_qorchestra::QNode::getClientAppsData | ( | std::string | robot_namespace | ) | [private] |
bool rocon_qorchestra::QNode::init | ( | ) |
bool rocon_qorchestra::QNode::init | ( | const std::string & | master_url, |
const std::string & | host_url | ||
) |
void rocon_qorchestra::QNode::installApp | ( | const QModelIndex & | index | ) | [slot] |
void rocon_qorchestra::QNode::installMissingApps | ( | const QStandardItem * | missing_apps_on_devices | ) | [slot] |
void rocon_qorchestra::QNode::installMissingAppsRequest | ( | const QStandardItem * | ) | [signal] |
void rocon_qorchestra::QNode::missingAppsInstalled | ( | const QModelIndex & | index | ) | [signal] |
void rocon_qorchestra::QNode::retrieveAppDetails | ( | const QModelIndex & | index | ) | [slot] |
void rocon_qorchestra::QNode::retrieveClientAppList | ( | const QModelIndex & | index | ) | [slot] |
void rocon_qorchestra::QNode::rosShutdown | ( | ) | [signal] |
void rocon_qorchestra::QNode::run | ( | ) |
void rocon_qorchestra::QNode::solutionRequirementsMet | ( | ) | [signal] |
void rocon_qorchestra::QNode::startSolution | ( | ) | [inline, slot] |
void rocon_qorchestra::QNode::stopSolution | ( | ) | [inline, slot] |
void rocon_qorchestra::QNode::subscribeConcertClients | ( | const concert_msgs::ConcertClientsConstPtr | concert | ) | [private] |
Catches the concert client list as it gets published.
concert_msgs/ConcertClient: zeroconf_msgs/DiscoveredService zeroconf string platform string system string suggested_name string unique_name string key string app_manager_uri bool is_connected time last_connection_timestamp
void rocon_qorchestra::QNode::triggerSolution | ( | bool | start = true | ) | [private] |
void rocon_qorchestra::QNode::uninstallApp | ( | const QModelIndex & | index | ) | [slot] |
QStandardItemModel rocon_qorchestra::QNode::app_details_model_ [private] |
QModelIndex rocon_qorchestra::QNode::check_solution_index_ [private] |
QStandardItemModel rocon_qorchestra::QNode::client_apps_model_ [private] |
QList<QStandardItem*> rocon_qorchestra::QNode::client_installable_apps_list_ [private] |
QList<QStandardItem*> rocon_qorchestra::QNode::client_installed_apps_list_ [private] |
QStandardItemModel rocon_qorchestra::QNode::concert_clients_apps_model_ [private] |
QStandardItemModel rocon_qorchestra::QNode::concert_clients_model_ [private] |
concert_msgs::ConcertClientsConstPtr rocon_qorchestra::QNode::concert_clients_ptr_ [private] |
QModelIndex rocon_qorchestra::QNode::current_client_index_ [private] |
unsigned int rocon_qorchestra::QNode::current_highlighted_app_ [private] |
int rocon_qorchestra::QNode::init_argc_ [private] |
char** rocon_qorchestra::QNode::init_argv_ [private] |
QMutex rocon_qorchestra::QNode::mutex_ [private] |
QStringList rocon_qorchestra::QNode::solution_device_configurations_ [private] |