示例#1
0
文件: HliScp.cs 项目: ewcasas/DVTK
        /// <summary>
        /// Class constructor.
        /// </summary>
        public HliScp()
        {
            // set up the default transfer syntax support
            _transferSyntaxes = new TransferSyntaxes(IMPLICIT_VR_LITTLE_ENDIAN,
                EXPLICIT_VR_LITTLE_ENDIAN,
                EXPLICIT_VR_BIG_ENDIAN);

            // set up the default sop class support
            _sopClasses = new SopClasses(VERIFICATION_SOP_CLASS_UID);
        }
示例#2
0
        /// <summary>
        /// Class constructor.
        /// </summary>
        /// <param name="parentActor">Parent Actor Name - (containing actor).</param>
        /// <param name="actorName">Destination Actor Name.</param>
        /// <param name="storageCommitmentScu">Boolean indicating if this is a Storage Commitment SCU or not.</param>
        public DicomClient(BaseActor parentActor, ActorName actorName, bool storageCommitmentScu)
            : base(parentActor, actorName)
        {
            if (storageCommitmentScu == true)
            {
                _scu = new DicomStorageCommitmentScu(this);
            }
            else
            {
                _scu = new DicomScu(this);
            }

            // set up the default transfer syntaxes proposed
            _transferSyntaxes = new TransferSyntaxes(HliScp.IMPLICIT_VR_LITTLE_ENDIAN,
                HliScp.EXPLICIT_VR_LITTLE_ENDIAN,
                HliScp.EXPLICIT_VR_BIG_ENDIAN);
        }
示例#3
0
文件: HliScp.cs 项目: ewcasas/DVTK
 /// <summary>
 /// Clear the current transfer syntax list - reset contents to empty.
 /// </summary>
 public void ClearTransferSyntaxes()
 {
     _transferSyntaxes = null;
 }
示例#4
0
文件: HliScp.cs 项目: ewcasas/DVTK
        /// <summary>
        /// Add a single transfer syntax to the list.
        /// </summary>
        /// <param name="transferSyntax">Transfer Syntax UID.</param>
        public void AddTransferSyntax(System.String transferSyntax)
        {
            // first check if the class has been instantiated
            if (_transferSyntaxes == null)
            {
                _transferSyntaxes = new TransferSyntaxes();
            }

            // Add the transfer syntax
            _transferSyntaxes.Add(transferSyntax);
        }
示例#5
0
        private System.String[] MergeTransferSyntaxes(System.String[] inTransferSyntaxes)
        {
            // save all the input transfer syntaxes
            TransferSyntaxes localTransferSyntaxes = new TransferSyntaxes();
            for (int i = 0; i < inTransferSyntaxes.Length; i++)
            {
                localTransferSyntaxes.Add(inTransferSyntaxes[i]);
            }

            // add any from the proposed client transfer syntaxes that are not in the input list
            if(_transferSyntaxes != null)
            {
                for (int i = 0; i < _transferSyntaxes.Length(); i++)
                {
                    bool found = false;
                    for (int j = 0; j < inTransferSyntaxes.Length; j++)
                    {
                        if (_transferSyntaxes.Get(i) == inTransferSyntaxes[j])
                        {
                            found = true;
                            break;
                        }
                    }

                    if (found == false)
                    {
                        localTransferSyntaxes.Add(_transferSyntaxes.Get(i));
                    }
                }
            }

            // copy them to the merged list
            System.String[] mergedTransferSyntaxes = new System.String[localTransferSyntaxes.Length()];
            for (int i = 0; i < localTransferSyntaxes.Length(); i++)
            {
                mergedTransferSyntaxes[i] = localTransferSyntaxes.Get(i);
            }

            return mergedTransferSyntaxes;
        }