←Select platform

GetUserRole Method

Summary
Determines whether the User Role is supported for the specified Presentation Context of the DICOM Associate.
Syntax
C#
Objective-C
C++/CLI
public DicomRoleSupport GetUserRole( 
   byte id 
) 
- (LTDicomRoleSupport)userRole:(uint8_t)ID NS_SWIFT_NAME(userRole(id:)); 
public: 
DicomRoleSupport GetUserRole(  
   byte id 
)  

Parameters

id
Presentation Context ID of the Presentation Context for which to check the User Role. The ID provides information about both the class type of the data and the Transfer Syntax to use when transferring the data. It also identifies a specific Presentation Context within an Associate.

Return Value

A value indicating whether the User Role is supported for the specified Presentation Context of the DICOM Associate.

Remarks

Support for the User Role allows the Application Entity to act as an SCU for that Presentation Context. To enable Role Selection, and to set the User and Provider Roles, call SetRoleSelect.

Example
C#
using Leadtools; 
using Leadtools.Dicom; 
 
 
void BuildVerifyAssociate() 
{ 
   //Make sure to initialize the DICOM engine, this needs to be done only once  
   //In the whole application 
   DicomEngine.Startup(); 
   using (DicomAssociate associate = new DicomAssociate(true)) 
   { 
      //Role Select 
      associate.AddPresentationContext(1, 0, DicomUidType.VerificationClass); 
      associate.SetRoleSelect(1, true, DicomRoleSupport.Supported, DicomRoleSupport.Unsupported); 
      Debug.Assert(associate.IsRoleSelect(1) == true); 
      Debug.Assert(associate.GetUserRole(1) == DicomRoleSupport.Supported); 
      Debug.Assert(associate.GetProviderRole(1) == DicomRoleSupport.Unsupported); 
 
      //Extended Data 
      associate.SetExtendedData(1, new byte[] { 55 }); 
      Debug.Assert(associate.GetExtendedDataLength(1) == 1); 
      byte[] extendedData = associate.GetExtendedData(1); 
      Debug.Assert(extendedData[0] == 55); 
      // We can also call GetExtendedDataPtr 
 
      //Asynchronous Operations 
      associate.SetAsynchronousOperations(true, 5, 5); 
      Debug.Assert(associate.IsAsynchronousOperations == true); 
      Debug.Assert(associate.InvokedOperationsCount == 5); 
      Debug.Assert(associate.PerformedOperationsCount == 5); 
 
      //User Information 
      associate.AddUserInformation(4, new byte[] { 88 }); 
      Debug.Assert(associate.UserInformationCount == 1); 
      Debug.Assert(associate.GetUserInformationType(0) == 4); 
      Debug.Assert(associate.GetUserInformationDataLength(0) == 1); 
      Debug.Assert(associate.GetUserInformationDataPtr(0) != null); 
      byte[] userInformationData = associate.GetUserInformationData(0); 
      Debug.Assert(userInformationData[0] == 88); 
      associate.SetUserInformation(0, 3, new byte[] { 56 }); 
      userInformationData = associate.GetUserInformationData(0); 
      Debug.Assert(userInformationData[0] == 56); 
      associate.DeleteUserInformation(0); 
   } 
   DicomEngine.Shutdown(); 
} 
Requirements

Target Platforms

Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Dicom Assembly

Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.