00001 /* 00002 * 00003 * Copyright (C) 1996-2004, OFFIS 00004 * 00005 * This software and supporting documentation were developed by 00006 * 00007 * Kuratorium OFFIS e.V. 00008 * Healthcare Information and Communication Systems 00009 * Escherweg 2 00010 * D-26121 Oldenburg, Germany 00011 * 00012 * THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND OFFIS MAKES NO WARRANTY 00013 * REGARDING THE SOFTWARE, ITS PERFORMANCE, ITS MERCHANTABILITY OR 00014 * FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER DISEASES OR 00015 * ITS CONFORMITY TO ANY SPECIFICATION. THE ENTIRE RISK AS TO QUALITY AND 00016 * PERFORMANCE OF THE SOFTWARE IS WITH THE USER. 00017 * 00018 * Module: dcmwlm 00019 * 00020 * Author: Thomas Wilkens 00021 * 00022 * Purpose: Class for connecting to a file-based data source. 00023 * 00024 * Last Update: $Author: meichel $ 00025 * Update Date: $Date: 2004/05/26 10:36:53 $ 00026 * Source File: $Source: /share/dicom/cvs-depot/dcmtk/dcmwlm/include/wldsfs.h,v $ 00027 * CVS/RCS Revision: $Revision: 1.13 $ 00028 * Status: $State: Exp $ 00029 * 00030 * CVS/RCS Log at end of file 00031 * 00032 */ 00033 00034 #ifndef WlmDataSourceFileSystem_h 00035 #define WlmDataSourceFileSystem_h 00036 00037 #include "osconfig.h" 00038 #include "wlds.h" 00039 00040 class WlmFileSystemInteractionManager; 00041 class DcmDataset; 00042 class OFCondition; 00043 class DcmElement; 00044 00048 class WlmDataSourceFileSystem : public WlmDataSource 00049 { 00050 protected: 00052 WlmFileSystemInteractionManager *fileSystemInteractionManager; 00054 char *dfPath; 00056 int handleToReadLockFile; 00057 00062 OFBool SetReadlock(); 00063 00067 OFBool ReleaseReadlock(); 00068 00078 void HandleNonSequenceElementInResultDataset( DcmElement *element, unsigned long idx ); 00079 00089 void HandleSequenceElementInResultDataset( DcmElement *element, unsigned long idx ); 00090 00094 WlmDataSourceFileSystem( const WlmDataSourceFileSystem &Src ); 00095 00100 WlmDataSourceFileSystem &operator=( const WlmDataSourceFileSystem &Src ); 00101 00102 00103 public: 00106 WlmDataSourceFileSystem(); 00107 00110 ~WlmDataSourceFileSystem(); 00111 00115 OFCondition ConnectToDataSource(); 00116 00120 OFCondition DisconnectFromDataSource(); 00121 00125 void SetDfPath( const char *value ); 00126 00134 OFBool IsCalledApplicationEntityTitleSupported(); 00135 00148 WlmDataSourceStatusType StartFindRequest( DcmDataset &findRequestIdentifiers ); 00149 00160 DcmDataset *NextFindResponse( WlmDataSourceStatusType &rStatus ); 00161 }; 00162 00163 #endif 00164 00165 /* 00166 ** CVS Log 00167 ** $Log: wldsfs.h,v $ 00168 ** Revision 1.13 2004/05/26 10:36:53 meichel 00169 ** Fixed minor bug in worklist server regarding failed read locks. 00170 ** 00171 ** Revision 1.12 2004/01/07 08:32:28 wilkens 00172 ** Added new sequence type return key attributes to wlmscpfs. Fixed bug that for 00173 ** equally named attributes in sequences always the same value will be returned. 00174 ** Added functionality that also more than one item will be returned in sequence 00175 ** type return key attributes. 00176 ** 00177 ** Revision 1.11 2003/08/21 13:38:55 wilkens 00178 ** Moved declaration and initialization of member variables matchingDatasets and 00179 ** NumOfMatchingDatasets to base class. 00180 ** 00181 ** Revision 1.10 2003/07/02 09:17:55 wilkens 00182 ** Updated documentation to get rid of doxygen warnings. 00183 ** 00184 ** Revision 1.9 2002/12/16 11:08:34 wilkens 00185 ** Added missing #include "osconfig.h" to certain files. 00186 ** 00187 ** Revision 1.8 2002/12/09 13:40:49 joergr 00188 ** Renamed parameter to avoid name clash with global function index(). 00189 ** 00190 ** Revision 1.7 2002/08/12 10:56:08 wilkens 00191 ** Made some modifications in in order to be able to create a new application 00192 ** which contains both wlmscpdb and ppsscpdb and another application which 00193 ** contains both wlmscpfs and ppsscpfs. 00194 ** 00195 ** Revision 1.6 2002/08/05 09:09:57 wilkens 00196 ** Modfified the project's structure in order to be able to create a new 00197 ** application which contains both wlmscpdb and ppsscpdb. 00198 ** 00199 ** Revision 1.4 2002/07/17 13:10:17 wilkens 00200 ** Corrected some minor logical errors in the wlmscpdb sources and completely 00201 ** updated the wlmscpfs so that it does not use the original wlistctn sources 00202 ** any more but standard wlm sources which are now used by all three variants 00203 ** of wlmscps. 00204 ** 00205 ** Revision 1.3 2002/06/10 11:24:54 wilkens 00206 ** Made some corrections to keep gcc 2.95.3 quiet. 00207 ** 00208 ** Revision 1.2 2002/04/18 14:19:53 wilkens 00209 ** Modified Makefiles. Updated latest changes again. These are the latest 00210 ** sources. Added configure file. 00211 ** 00212 ** Revision 1.3 2002/01/08 17:45:34 joergr 00213 ** Reformatted source files (replaced Windows newlines by Unix ones, replaced 00214 ** tabulator characters by spaces, etc.) 00215 ** 00216 ** Revision 1.2 2002/01/08 16:47:53 joergr 00217 ** Added preliminary database support using OTL interface library (modified by 00218 ** MC/JR on 2001-12-21). 00219 ** 00220 ** Revision 1.1 2002/01/08 16:30:59 joergr 00221 ** Added new module "dcmwlm" developed by Thomas Wilkens (initial release for 00222 ** Windows, dated 2001-12-20). 00223 ** 00224 ** 00225 */