Fovia's C++ Client/Server API
Public Member Functions | List of all members
ILiteDICOMFileContext Struct Referenceabstract
Inheritance diagram for ILiteDICOMFileContext:
IRoot

Public Member Functions

virtual signed int AskInterface (const BGUID *piid, IRoot **ppr)=0
 
virtual signed int DecRef ()=0
 
virtual signed int GetID (signed long long *id)=0
 
virtual signed int GetPath (char **path)=0
 
virtual signed int GetTags (ILiteDICOMFileContext **files, signed int numFiles, DICOM_TAG_REQUEST *reqs, signed int numReqs, DICOM_TAG_DATA ***results)=0
 
virtual signed int IncRef ()=0
 
virtual signed int OutputDICOMImages (signed long long **images, IRenderEngineContext *pRender, signed int numFiles, ILiteDICOMFileContext **files, char **paths, RENDER_PARAMS **rp)=0
 
virtual signed int ReleaseSessionAllResources (signed int numFiles, ILiteDICOMFileContext **files)=0
 
virtual signed int ReleaseSessionResources ()=0
 
virtual signed int SetTags (ILiteDICOMFileContext **files, signed int numFiles, DICOM_TAG_REQUEST *reqs, signed int numReqs, DICOM_TAG_DATA **data, signed int ***results)=0
 
- Public Member Functions inherited from IRoot
template<class T >
signed int AskInterface (T **pp)
 

Detailed Description

File that represents a DICOM file on the server opened using Fovia's internal DICOM loader. You may query this file for tags or location information. This object is created by DICOM loading functions in IServerContext.

Member Function Documentation

virtual signed int ILiteDICOMFileContext::AskInterface ( const BGUID piid,
IRoot **  ppr 
)
pure virtual

Queries this object to see if the interface piid is supported and returns the result in ppr.

Parameters
piidThe BGUID of the requested interface.
pprThe address of an IRoot pointer which will receive the new interface.
Returns
S_OK if the interface is supported. E_FAIL if it is not.

Implements IRoot.

virtual signed int ILiteDICOMFileContext::DecRef ( )
pure virtual

Decreases the reference count on this object by 1. If the reference count reaches 0, the object is deallocated.

Implements IRoot.

virtual signed int ILiteDICOMFileContext::GetID ( signed long long *  id)
pure virtual

Returns the handle that represents the server side object that manipulates the DICOM file.

Parameters
idThe address of the h_int64 that will get the handle of the server side object.
virtual signed int ILiteDICOMFileContext::GetPath ( char **  path)
pure virtual

Returns the path to the DICOM file on the server. You may use this path to call IServerContext::LoadDICOMFromFileList().

Parameters
pathAddress of a char* to receive the address of the path. This is a shallow pointer. You should not delete this.
virtual signed int ILiteDICOMFileContext::GetTags ( ILiteDICOMFileContext **  files,
signed int  numFiles,
DICOM_TAG_REQUEST reqs,
signed int  numReqs,
DICOM_TAG_DATA ***  results 
)
pure virtual

Allows you to retrieve the requested tags for each of the files in arrFiles. The tag data is returned into arrResults. All arrays must be allocated prior to calling this function. arrResults must be of the size [numFiles][numReqs].

Parameters
filesAn array of ILiteDICOMFileContext pointers. Each of these will be queried for the specified tags.
numFilesThe number of files in the parameter files.
reqsAn array of DICOM_TAG_REQUEST objects that describe the tags to set in each file.
numReqsThe number of DICOM_TAG_REQUEST objects in reqs.
resultsThe address of a two dimensional DICOM_TAG_DATA array that will get the result of the function call. To access a result for a given file: results[fileIndex][requestIndex]
virtual signed int ILiteDICOMFileContext::IncRef ( )
pure virtual

Increases the reference count on this object by 1. You do not need to call this after an object is first created. It is 1 by default.

Implements IRoot.

virtual signed int ILiteDICOMFileContext::OutputDICOMImages ( signed long long **  images,
IRenderEngineContext pRender,
signed int  numFiles,
ILiteDICOMFileContext **  files,
char **  paths,
RENDER_PARAMS **  rp 
)
pure virtual

Not currently implemented.

virtual signed int ILiteDICOMFileContext::ReleaseSessionAllResources ( signed int  numFiles,
ILiteDICOMFileContext **  files 
)
pure virtual

Allows you to release resources on a group of files in one server call. Use this to avoid any latency issues on large file lists.

Parameters
numFilesThe number of files to release.
filesAn array of ILiteDICOMFileContext pointers specifying the objects to release.
virtual signed int ILiteDICOMFileContext::ReleaseSessionResources ( )
pure virtual

Call this if you wish to free up this object on the server before disconnecting.

virtual signed int ILiteDICOMFileContext::SetTags ( ILiteDICOMFileContext **  files,
signed int  numFiles,
DICOM_TAG_REQUEST reqs,
signed int  numReqs,
DICOM_TAG_DATA **  data,
signed int ***  results 
)
pure virtual

Allows you to change set/change tags on a DICOM file loaded into memory. results is an array of size [numFiles][numReqs] indicating the result of each operation.

Parameters
filesAn array of ILiteDICOMFileContext pointers. Each of these will have the specified tags set/changed.
numFilesThe number of files in the parameter files.
reqsAn array of DICOM_TAG_REQUEST objects that describe the tags to set in each file.
numReqsThe number of DICOM_TAG_REQUEST objects in reqs.
dataA two dimensional DICOM_TAG_DATA array that contains the data to set/change in the files. A request for a given file is located in the array as follows: results[fileIndex][requestIndex]
resultsThe address of a two dimensional RRESULT array that will get the result of each tag request. To access a result for a given file: results[fileIndex][requestIndex]