All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends
Public Slots | Signals | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes
rocon_qorchestra::QNode Class Reference

#include <qnode.hpp>

List of all members.

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_

Detailed Description

Definition at line 38 of file qnode.hpp.


Constructor & Destructor Documentation

rocon_qorchestra::QNode::QNode ( int  argc,
char **  argv 
)

Definition at line 39 of file qnode.cpp.

Definition at line 56 of file qnode.cpp.


Member Function Documentation

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"

Definition at line 476 of file qnode.cpp.

void rocon_qorchestra::QNode::clientAppListRetrieved ( QStandardItemModel *  ) [signal]
QString rocon_qorchestra::QNode::clientDeviceTriple ( const int &  row) [private]

Returns the concert client's device name (triple).

This is not thread safe, make sure it's used inside a mutex lock/unlock.

Definition at line 464 of file qnode.cpp.

bool rocon_qorchestra::QNode::clientIsAndroid ( const int &  row) [private]

Checks to see if the client is android (bad hack till we can remove it).

This is not thread safe, make sure it's used inside a mutex lock/unlock.

Definition at line 452 of file qnode.cpp.

bool rocon_qorchestra::QNode::clientIsConnected ( const int &  row) [private]

Checks to see if the client is connected.

This is not thread safe, make sure it's used inside a mutex lock/unlock.

Definition at line 440 of file qnode.cpp.

QStandardItemModel* rocon_qorchestra::QNode::concertClientsModel ( ) [inline]

Definition at line 51 of file qnode.hpp.

QStandardItem * rocon_qorchestra::QNode::createConcertClientAppsDataElement ( const std::string &  str,
const Qt::Alignment &  alignment = Qt::AlignHCenter 
) [private]

Definition at line 752 of file qnode.cpp.

QStandardItem * rocon_qorchestra::QNode::createConcertClientDataElement ( const std::string &  str,
const Qt::Alignment &  alignment = Qt::AlignHCenter 
) [private]

Definition at line 743 of file qnode.cpp.

Definition at line 90 of file qnode.cpp.

void rocon_qorchestra::QNode::getClientAppsData ( std::string  robot_namespace) [private]

Given a robot reference in the model, this retrieves the current apps as well as the apps in the store.

Definition at line 220 of file qnode.cpp.

Definition at line 64 of file qnode.cpp.

bool rocon_qorchestra::QNode::init ( const std::string &  master_url,
const std::string &  host_url 
)

Definition at line 76 of file qnode.cpp.

void rocon_qorchestra::QNode::installApp ( const QModelIndex &  index) [slot]

Definition at line 394 of file qnode.cpp.

void rocon_qorchestra::QNode::installMissingApps ( const QStandardItem *  missing_apps_on_devices) [slot]

Definition at line 592 of file qnode.cpp.

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]

Definition at line 349 of file qnode.cpp.

void rocon_qorchestra::QNode::retrieveClientAppList ( const QModelIndex &  index) [slot]

Definition at line 296 of file qnode.cpp.

Definition at line 96 of file qnode.cpp.

void rocon_qorchestra::QNode::startSolution ( ) [inline, slot]

Definition at line 65 of file qnode.hpp.

void rocon_qorchestra::QNode::stopSolution ( ) [inline, slot]

Definition at line 66 of file qnode.hpp.

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

Definition at line 135 of file qnode.cpp.

void rocon_qorchestra::QNode::triggerSolution ( bool  start = true) [private]

Definition at line 653 of file qnode.cpp.

void rocon_qorchestra::QNode::uninstallApp ( const QModelIndex &  index) [slot]

Definition at line 415 of file qnode.cpp.


Member Data Documentation

QStandardItemModel rocon_qorchestra::QNode::app_details_model_ [private]

Definition at line 108 of file qnode.hpp.

Definition at line 103 of file qnode.hpp.

Definition at line 113 of file qnode.hpp.

QStandardItemModel rocon_qorchestra::QNode::client_apps_model_ [private]

Definition at line 107 of file qnode.hpp.

Definition at line 115 of file qnode.hpp.

Definition at line 115 of file qnode.hpp.

Definition at line 106 of file qnode.hpp.

Definition at line 105 of file qnode.hpp.

concert_msgs::ConcertClientsConstPtr rocon_qorchestra::QNode::concert_clients_ptr_ [private]

Definition at line 112 of file qnode.hpp.

Definition at line 104 of file qnode.hpp.

Definition at line 113 of file qnode.hpp.

Definition at line 114 of file qnode.hpp.

Definition at line 57 of file qnode.hpp.

Definition at line 101 of file qnode.hpp.

Definition at line 102 of file qnode.hpp.

Definition at line 109 of file qnode.hpp.

Definition at line 110 of file qnode.hpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends


graveyard_rocon_qorchestra
Author(s): Daniel Stonier
autogenerated on Wed Jan 23 2013 13:42:01