comparison OrthancCppClient/Package/AUTOGENERATED/OrthancCppClient.h @ 573:8fb9867d8089 laaw

documentation
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 26 Sep 2013 17:52:11 +0200
parents ec2c2411d4db
children
comparison
equal deleted inserted replaced
572:e5eaef9cad80 573:8fb9867d8089
504 }; 504 };
505 } 505 }
506 506
507 namespace OrthancClient 507 namespace OrthancClient
508 { 508 {
509 /**
510 * @brief Connection to an instance of %Orthanc.
511 *
512 * This class encapsulates a connection to an instance of %Orthanc through its REST API.
513 *
514 **/
509 class OrthancConnection 515 class OrthancConnection
510 { 516 {
517 friend class ::OrthancClient::Patient;
518 friend class ::OrthancClient::Series;
519 friend class ::OrthancClient::Study;
520 friend class ::OrthancClient::Instance;
511 private: 521 private:
512 bool isReference_; 522 bool isReference_;
513 public:
514 void* pimpl_; 523 void* pimpl_;
515 OrthancConnection(void* pimpl) : isReference_(true), pimpl_(pimpl) {} 524 OrthancConnection(void* pimpl) : isReference_(true), pimpl_(pimpl) {}
516 OrthancConnection(const OrthancConnection& other) { *this = other; } 525 OrthancConnection(const OrthancConnection& other) { *this = other; }
517 void operator= (const OrthancConnection& other) { if (!other.isReference_) throw ::OrthancClient::OrthancClientException("Cannot copy a non-reference object"); pimpl_ = other.pimpl_; isReference_ = true; } 526 void operator= (const OrthancConnection& other) { if (!other.isReference_) throw ::OrthancClient::OrthancClientException("Cannot copy a non-reference object"); pimpl_ = other.pimpl_; isReference_ = true; }
527 public:
518 inline OrthancConnection(const ::std::string& orthancUrl); 528 inline OrthancConnection(const ::std::string& orthancUrl);
519 inline OrthancConnection(const ::std::string& orthancUrl, const ::std::string& username, const ::std::string& password); 529 inline OrthancConnection(const ::std::string& orthancUrl, const ::std::string& username, const ::std::string& password);
520 inline ~OrthancConnection(); 530 inline ~OrthancConnection();
521 inline LAAW_UINT32 GetThreadCount() const; 531 inline LAAW_UINT32 GetThreadCount() const;
522 inline void SetThreadCount(LAAW_UINT32 threadCount); 532 inline void SetThreadCount(LAAW_UINT32 threadCount);
532 542
533 namespace OrthancClient 543 namespace OrthancClient
534 { 544 {
535 class Patient 545 class Patient
536 { 546 {
547 friend class ::OrthancClient::OrthancConnection;
548 friend class ::OrthancClient::Series;
549 friend class ::OrthancClient::Study;
550 friend class ::OrthancClient::Instance;
537 private: 551 private:
538 bool isReference_; 552 bool isReference_;
539 public:
540 void* pimpl_; 553 void* pimpl_;
541 Patient(void* pimpl) : isReference_(true), pimpl_(pimpl) {} 554 Patient(void* pimpl) : isReference_(true), pimpl_(pimpl) {}
542 Patient(const Patient& other) { *this = other; } 555 Patient(const Patient& other) { *this = other; }
543 void operator= (const Patient& other) { if (!other.isReference_) throw ::OrthancClient::OrthancClientException("Cannot copy a non-reference object"); pimpl_ = other.pimpl_; isReference_ = true; } 556 void operator= (const Patient& other) { if (!other.isReference_) throw ::OrthancClient::OrthancClientException("Cannot copy a non-reference object"); pimpl_ = other.pimpl_; isReference_ = true; }
557 public:
544 inline Patient(::OrthancClient::OrthancConnection& connection, const ::std::string& id); 558 inline Patient(::OrthancClient::OrthancConnection& connection, const ::std::string& id);
545 inline ~Patient(); 559 inline ~Patient();
546 inline void Reload(); 560 inline void Reload();
547 inline LAAW_UINT32 GetStudyCount(); 561 inline LAAW_UINT32 GetStudyCount();
548 inline ::OrthancClient::Study GetStudy(LAAW_UINT32 index); 562 inline ::OrthancClient::Study GetStudy(LAAW_UINT32 index);
553 567
554 namespace OrthancClient 568 namespace OrthancClient
555 { 569 {
556 class Series 570 class Series
557 { 571 {
572 friend class ::OrthancClient::OrthancConnection;
573 friend class ::OrthancClient::Patient;
574 friend class ::OrthancClient::Study;
575 friend class ::OrthancClient::Instance;
558 private: 576 private:
559 bool isReference_; 577 bool isReference_;
560 public:
561 void* pimpl_; 578 void* pimpl_;
562 Series(void* pimpl) : isReference_(true), pimpl_(pimpl) {} 579 Series(void* pimpl) : isReference_(true), pimpl_(pimpl) {}
563 Series(const Series& other) { *this = other; } 580 Series(const Series& other) { *this = other; }
564 void operator= (const Series& other) { if (!other.isReference_) throw ::OrthancClient::OrthancClientException("Cannot copy a non-reference object"); pimpl_ = other.pimpl_; isReference_ = true; } 581 void operator= (const Series& other) { if (!other.isReference_) throw ::OrthancClient::OrthancClientException("Cannot copy a non-reference object"); pimpl_ = other.pimpl_; isReference_ = true; }
582 public:
565 inline Series(::OrthancClient::OrthancConnection& connection, const ::std::string& id); 583 inline Series(::OrthancClient::OrthancConnection& connection, const ::std::string& id);
566 inline ~Series(); 584 inline ~Series();
567 inline void Reload(); 585 inline void Reload();
568 inline bool Is3DImage(); 586 inline bool Is3DImage();
569 inline LAAW_UINT32 GetInstanceCount(); 587 inline LAAW_UINT32 GetInstanceCount();
583 601
584 namespace OrthancClient 602 namespace OrthancClient
585 { 603 {
586 class Study 604 class Study
587 { 605 {
606 friend class ::OrthancClient::OrthancConnection;
607 friend class ::OrthancClient::Patient;
608 friend class ::OrthancClient::Series;
609 friend class ::OrthancClient::Instance;
588 private: 610 private:
589 bool isReference_; 611 bool isReference_;
590 public:
591 void* pimpl_; 612 void* pimpl_;
592 Study(void* pimpl) : isReference_(true), pimpl_(pimpl) {} 613 Study(void* pimpl) : isReference_(true), pimpl_(pimpl) {}
593 Study(const Study& other) { *this = other; } 614 Study(const Study& other) { *this = other; }
594 void operator= (const Study& other) { if (!other.isReference_) throw ::OrthancClient::OrthancClientException("Cannot copy a non-reference object"); pimpl_ = other.pimpl_; isReference_ = true; } 615 void operator= (const Study& other) { if (!other.isReference_) throw ::OrthancClient::OrthancClientException("Cannot copy a non-reference object"); pimpl_ = other.pimpl_; isReference_ = true; }
616 public:
595 inline Study(::OrthancClient::OrthancConnection& connection, const ::std::string& id); 617 inline Study(::OrthancClient::OrthancConnection& connection, const ::std::string& id);
596 inline ~Study(); 618 inline ~Study();
597 inline void Reload(); 619 inline void Reload();
598 inline LAAW_UINT32 GetSeriesCount(); 620 inline LAAW_UINT32 GetSeriesCount();
599 inline ::OrthancClient::Series GetSeries(LAAW_UINT32 index); 621 inline ::OrthancClient::Series GetSeries(LAAW_UINT32 index);
604 626
605 namespace OrthancClient 627 namespace OrthancClient
606 { 628 {
607 class Instance 629 class Instance
608 { 630 {
631 friend class ::OrthancClient::OrthancConnection;
632 friend class ::OrthancClient::Patient;
633 friend class ::OrthancClient::Series;
634 friend class ::OrthancClient::Study;
609 private: 635 private:
610 bool isReference_; 636 bool isReference_;
611 public:
612 void* pimpl_; 637 void* pimpl_;
613 Instance(void* pimpl) : isReference_(true), pimpl_(pimpl) {} 638 Instance(void* pimpl) : isReference_(true), pimpl_(pimpl) {}
614 Instance(const Instance& other) { *this = other; } 639 Instance(const Instance& other) { *this = other; }
615 void operator= (const Instance& other) { if (!other.isReference_) throw ::OrthancClient::OrthancClientException("Cannot copy a non-reference object"); pimpl_ = other.pimpl_; isReference_ = true; } 640 void operator= (const Instance& other) { if (!other.isReference_) throw ::OrthancClient::OrthancClientException("Cannot copy a non-reference object"); pimpl_ = other.pimpl_; isReference_ = true; }
641 public:
616 inline Instance(::OrthancClient::OrthancConnection& connection, const ::std::string& id); 642 inline Instance(::OrthancClient::OrthancConnection& connection, const ::std::string& id);
617 inline ~Instance(); 643 inline ~Instance();
618 inline ::std::string GetId() const; 644 inline ::std::string GetId() const;
619 inline void SetImageExtractionMode(::Orthanc::ImageExtractionMode mode); 645 inline void SetImageExtractionMode(::Orthanc::ImageExtractionMode mode);
620 inline ::Orthanc::ImageExtractionMode GetImageExtractionMode() const; 646 inline ::Orthanc::ImageExtractionMode GetImageExtractionMode() const;
634 }; 660 };
635 } 661 }
636 662
637 namespace OrthancClient 663 namespace OrthancClient
638 { 664 {
665 /**
666 * @brief Create a connection to an instance of %Orthanc.
667 *
668 * Create a connection to an instance of %Orthanc.
669 *
670 * @param orthancUrl URL to which the REST API of %Orthanc is listening.
671 **/
639 inline OrthancConnection::OrthancConnection(const ::std::string& orthancUrl) 672 inline OrthancConnection::OrthancConnection(const ::std::string& orthancUrl)
640 { 673 {
641 isReference_ = false; 674 isReference_ = false;
642 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void**, const char*); 675 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void**, const char*);
643 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(0); 676 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(0);
644 char* error = function(&pimpl_, orthancUrl.c_str()); 677 char* error = function(&pimpl_, orthancUrl.c_str());
645 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error); 678 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
646 } 679 }
680 /**
681 * @brief Create a connection to an instance of %Orthanc, with authentication.
682 *
683 * Create a connection to an instance of %Orthanc, with authentication.
684 *
685 * @param orthancUrl URL to which the REST API of %Orthanc is listening.
686 * @param username The username.
687 * @param password The password.
688 **/
647 inline OrthancConnection::OrthancConnection(const ::std::string& orthancUrl, const ::std::string& username, const ::std::string& password) 689 inline OrthancConnection::OrthancConnection(const ::std::string& orthancUrl, const ::std::string& username, const ::std::string& password)
648 { 690 {
649 isReference_ = false; 691 isReference_ = false;
650 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void**, const char*, const char*, const char*); 692 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void**, const char*, const char*, const char*);
651 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(1); 693 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(1);
664 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*); 706 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*);
665 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(2); 707 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(2);
666 char* error = function(pimpl_); 708 char* error = function(pimpl_);
667 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error); 709 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
668 } 710 }
711 /**
712 * @brief Returns the number of threads for this connection.
713 *
714 * Returns the number of simultaneous connections that are used when downloading information from this instance of %Orthanc.
715 *
716 * @return The number of threads.
717 **/
669 inline LAAW_UINT32 OrthancConnection::GetThreadCount() const 718 inline LAAW_UINT32 OrthancConnection::GetThreadCount() const
670 { 719 {
671 LAAW_UINT32 result_; 720 LAAW_UINT32 result_;
672 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (const void*, LAAW_UINT32*); 721 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (const void*, LAAW_UINT32*);
673 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(3); 722 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(3);
674 char* error = function(pimpl_, &result_); 723 char* error = function(pimpl_, &result_);
675 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error); 724 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
676 return result_; 725 return result_;
677 } 726 }
727 /**
728 * @brief Sets the number of threads for this connection.
729 *
730 * Sets the number of simultaneous connections that are used when downloading information from this instance of %Orthanc.
731 *
732 * @param threadCount The number of threads.
733 **/
678 inline void OrthancConnection::SetThreadCount(LAAW_UINT32 threadCount) 734 inline void OrthancConnection::SetThreadCount(LAAW_UINT32 threadCount)
679 { 735 {
680 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, LAAW_UINT32); 736 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, LAAW_UINT32);
681 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(4); 737 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(4);
682 char* error = function(pimpl_, threadCount); 738 char* error = function(pimpl_, threadCount);
683 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error); 739 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
684 } 740 }
741 /**
742 * @brief Refresh the list of the patients.
743 *
744 * This method will reload the list of the patients from the remote instance of %Orthanc. Pay attention to the fact that the patients that have been previously returned by GetPatient() will be invalidated.
745 *
746 **/
685 inline void OrthancConnection::Refresh() 747 inline void OrthancConnection::Refresh()
686 { 748 {
687 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*); 749 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*);
688 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(5); 750 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(5);
689 char* error = function(pimpl_); 751 char* error = function(pimpl_);
690 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error); 752 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
691 } 753 }
754 /**
755 * @brief Returns the URL of this instance of %Orthanc.
756 *
757 * Returns the URL of the remote %Orthanc instance to which this object is connected.
758 *
759 * @return The URL.
760 **/
692 inline ::std::string OrthancConnection::GetOrthancUrl() const 761 inline ::std::string OrthancConnection::GetOrthancUrl() const
693 { 762 {
694 const char* result_; 763 const char* result_;
695 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (const void*, const char**); 764 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (const void*, const char**);
696 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(6); 765 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(6);
697 char* error = function(pimpl_, &result_); 766 char* error = function(pimpl_, &result_);
698 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error); 767 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
699 return std::string(result_); 768 return std::string(result_);
700 } 769 }
770 /**
771 * @brief Returns the number of patients.
772 *
773 * Returns the number of patients that are stored in the remote instance of %Orthanc.
774 *
775 * @return The number of patients.
776 **/
701 inline LAAW_UINT32 OrthancConnection::GetPatientCount() 777 inline LAAW_UINT32 OrthancConnection::GetPatientCount()
702 { 778 {
703 LAAW_UINT32 result_; 779 LAAW_UINT32 result_;
704 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, LAAW_UINT32*); 780 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, LAAW_UINT32*);
705 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(7); 781 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(7);
706 char* error = function(pimpl_, &result_); 782 char* error = function(pimpl_, &result_);
707 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error); 783 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
708 return result_; 784 return result_;
709 } 785 }
786 /**
787 * @brief Get some patient.
788 *
789 * This method will return an object that contains information about some patient. The patients are indexed by a number between 0 (inclusive) and the result of GetPatientCount() (exclusive).
790 *
791 * @param index The index of the patient of interest.
792 * @return The patient.
793 **/
710 inline ::OrthancClient::Patient OrthancConnection::GetPatient(LAAW_UINT32 index) 794 inline ::OrthancClient::Patient OrthancConnection::GetPatient(LAAW_UINT32 index)
711 { 795 {
712 void* result_; 796 void* result_;
713 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, void**, LAAW_UINT32); 797 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, void**, LAAW_UINT32);
714 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(8); 798 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(8);
715 char* error = function(pimpl_, &result_, index); 799 char* error = function(pimpl_, &result_, index);
716 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error); 800 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
717 return ::OrthancClient::Patient(result_); 801 return ::OrthancClient::Patient(result_);
718 } 802 }
803 /**
804 * @brief Delete some patient.
805 *
806 * Delete some patient from the remote instance of %Orthanc. Pay attention to the fact that the patients that have been previously returned by GetPatient() will be invalidated.
807 *
808 * @param index The index of the patient of interest.
809 * @return The patient.
810 **/
719 inline void OrthancConnection::DeletePatient(LAAW_UINT32 index) 811 inline void OrthancConnection::DeletePatient(LAAW_UINT32 index)
720 { 812 {
721 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, LAAW_UINT32); 813 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, LAAW_UINT32);
722 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(9); 814 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(9);
723 char* error = function(pimpl_, index); 815 char* error = function(pimpl_, index);
724 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error); 816 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
725 } 817 }
818 /**
819 * @brief Send a DICOM file.
820 *
821 * This method will store a DICOM file in the remote instance of %Orthanc. Pay attention to the fact that the patients that have been previously returned by GetPatient() will be invalidated.
822 *
823 * @param filename Path to the DICOM file
824 **/
726 inline void OrthancConnection::StoreFile(const ::std::string& filename) 825 inline void OrthancConnection::StoreFile(const ::std::string& filename)
727 { 826 {
728 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, const char*); 827 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, const char*);
729 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(10); 828 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(10);
730 char* error = function(pimpl_, filename.c_str()); 829 char* error = function(pimpl_, filename.c_str());
731 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error); 830 ::OrthancClient::Internals::Library::GetInstance().ThrowExceptionIfNeeded(error);
732 } 831 }
832 /**
833 * @brief Send a DICOM file that is contained inside a memory buffer.
834 *
835 * This method will store a DICOM file in the remote instance of %Orthanc. Pay attention to the fact that the patients that have been previously returned by GetPatient() will be invalidated.
836 *
837 * @param dicom The memory buffer containing the DICOM file.
838 * @param size The size of the DICOM file.
839 **/
733 inline void OrthancConnection::Store(const void* dicom, LAAW_UINT64 size) 840 inline void OrthancConnection::Store(const void* dicom, LAAW_UINT64 size)
734 { 841 {
735 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, const void*, LAAW_UINT64); 842 typedef char* (LAAW_ORTHANC_CLIENT_CALL_CONV* Function) (void*, const void*, LAAW_UINT64);
736 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(11); 843 Function function = (Function) ::OrthancClient::Internals::Library::GetInstance().GetFunction(11);
737 char* error = function(pimpl_, dicom, size); 844 char* error = function(pimpl_, dicom, size);