| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 | 
							- /*=========================================================================
 
-   Library:   CTK
 
-   Copyright (c) 2010
 
-   Licensed under the Apache License, Version 2.0 (the "License");
 
-   you may not use this file except in compliance with the License.
 
-   You may obtain a copy of the License at
 
-       http://www.apache.org/licenses/LICENSE-2.0.txt
 
-   Unless required by applicable law or agreed to in writing, software
 
-   distributed under the License is distributed on an "AS IS" BASIS,
 
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
-   See the License for the specific language governing permissions and
 
-   limitations under the License.
 
- =========================================================================*/
 
- #ifndef __ctkDICOMTester_h
 
- #define __ctkDICOMTester_h
 
- // Qt includes 
 
- #include <QObject>
 
- class QProcess;
 
- // CTKDICOMCore includes
 
- #include "ctkDICOMCoreExport.h"
 
- class ctkDICOMTesterPrivate;
 
- /** \brief Utility class to test DICOM network applications
 
-     A simple DICOM archive server can be run (startDCMQRSCP()), and images
 
-     can be stored into the server using storeData(). It internally uses
 
-     storeSCU.
 
-  */
 
- class CTK_DICOM_CORE_EXPORT ctkDICOMTester : public QObject
 
- {
 
-   Q_OBJECT
 
-   Q_PROPERTY(QString dcmqrscpExecutable READ dcmqrscpExecutable WRITE setDCMQRSCPExecutable)
 
-   Q_PROPERTY(QString dcmqrscpConfigFile READ dcmqrscpConfigFile WRITE setDCMQRSCPConfigFile)
 
-   Q_PROPERTY(QString storeSCUExecutable READ storeSCUExecutable WRITE setStoreSCUExecutable)
 
-   Q_PROPERTY(int dcmqrscpPort READ dcmqrscpPort WRITE setDCMQRSCPPort)
 
- public:
 
-   ctkDICOMTester(QObject* parent = 0);
 
-   explicit ctkDICOMTester(const QString& dcmqrscp, const QString& configFile, QObject* parent = 0);
 
-   virtual ~ctkDICOMTester();
 
-   void setDCMQRSCPExecutable(const QString& dcmqrscp);
 
-   QString dcmqrscpExecutable()const;
 
-   void setDCMQRSCPConfigFile(const QString& configFile);
 
-   QString dcmqrscpConfigFile()const;
 
-   void setStoreSCUExecutable(const QString& storescu);
 
-   QString storeSCUExecutable()const;
 
-   /** Port number [0,65365] where the dcmqrscp and storescu communicate.
 
-       Changing the port won't change the port of any running process.
 
-       You must stop and restart any process you want to have its port changed
 
-   */
 
-   void setDCMQRSCPPort(int port);
 
-   int dcmqrscpPort()const;
 
-   /** Starts a new DCMQRSCP as a separate process. The process is running until
 
-       stopDCMQRSCP is called or ctkDICOMTester is destroyed.
 
-       Only one process of DCMQRSCP can be running at a time.
 
-       Calling startDCMQRSCP() while a DCMQRSCP process is already running
 
-       results into a no-op. The return value is 0.
 
-       \sa QProcess::start(),
 
-    */
 
-   Q_INVOKABLE QProcess* startDCMQRSCP();
 
-   /** Stop the running DCMQRSCP process. Returns it's exit status or false if
 
-       there is no running process.
 
-   */
 
-   Q_INVOKABLE bool stopDCMQRSCP();
 
-   /** Pushes data (DCM images referred to by file name in data list) using DCMTK 
 
-       storeSCU app. It creates a separate process and waits for its termination.
 
-       To be working, dcmqrscp must be running
 
-       \sa startDCMQRSCP()
 
-    */
 
-   Q_INVOKABLE bool storeData(const QStringList& data);
 
- protected:
 
-   QScopedPointer<ctkDICOMTesterPrivate> d_ptr;
 
- private:
 
-   Q_DECLARE_PRIVATE(ctkDICOMTester);
 
-   Q_DISABLE_COPY(ctkDICOMTester);
 
- };
 
- #endif
 
 
  |