ctkDicomExampleHost.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #ifndef CTKDICOMEXAMPLEHOST_H
  2. #define CTKDICOMEXAMPLEHOST_H
  3. #include <ctkDicomAbstractHost.h>
  4. #include <ctkHostedAppPlaceholderWidget.h>
  5. #include <org_commontk_dah_examplehost_Export.h>
  6. #include <QUrl>
  7. #include <QProcess>
  8. class org_commontk_dah_examplehost_EXPORT ctkDicomExampleHost : public ctkDicomAbstractHost{
  9. Q_OBJECT
  10. public:
  11. ctkDicomExampleHost(ctkHostedAppPlaceholderWidget* placeholderWidget, int hostPort = 8080, int appPort = 8081);
  12. virtual void StartApplication(QString AppPath);
  13. virtual QString generateUID() { return ""; }
  14. virtual QRect getAvailableScreen(const QRect& preferredScreen);
  15. virtual QString getOutputLocation(const QStringList& /*preferredProtocols*/) { return ""; }
  16. virtual void notifyStateChanged(ctkDicomWG23::State state);
  17. virtual void notifyStatus(const ctkDicomWG23::Status& status);
  18. // exchange methods
  19. virtual bool notifyDataAvailable(ctkDicomWG23::AvailableData data, bool lastData);
  20. virtual QList<ctkDicomWG23::ObjectLocator>* getData(
  21. QList<QUuid> objectUUIDs,
  22. QList<QString> acceptableTransferSyntaxUIDs,
  23. bool includeBulkData);
  24. virtual void releaseData(QList<QUuid> objectUUIDs);
  25. const QProcess& getAppProcess() const { return appProcess; }
  26. ~ctkDicomExampleHost();
  27. signals:
  28. void stateChangedReceived(ctkDicomWG23::State state);
  29. void statusReceived(const ctkDicomWG23::Status& status);
  30. void giveAvailableScreen(QRect rect);
  31. protected:
  32. QProcess appProcess;
  33. ctkHostedAppPlaceholderWidget* placeholderWidget;
  34. ctkDicomWG23::State applicationState;
  35. protected slots:
  36. void forwardConsoleOutput();
  37. };
  38. #endif // CTKDICOMEXAMPLEHOST_H