Update of /cvsroot/csp/APPLICATIONS/SimData/Include/SimData
In directory sc8-pr-cvs1:/tmp/cvs-serv29162/Include/SimData
Modified Files:
Archive.h Date.i FileUtility.h
Log Message:
Index: Archive.h
===================================================================
RCS file: /cvsroot/csp/APPLICATIONS/SimData/Include/SimData/Archive.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** Archive.h 20 Oct 2003 00:38:47 -0000 1.3
--- Archive.h 21 Oct 2003 16:23:34 -0000 1.4
***************
*** 51,55 ****
SIMDATA_EXCEPTION(ConstViolation);
! class Archive {
bool __loading;
public:
--- 51,55 ----
SIMDATA_EXCEPTION(ConstViolation);
! class SIMDATA_EXPORT Archive {
bool __loading;
public:
***************
*** 164,167 ****
--- 164,190 ----
};
+
+ class SIMDATA_EXPORT PackFile {
+ FILE *_f;
+ bool _open;
+ public:
+ #ifndef SWIG
+ operator FILE*() { return _f; }
+ PackFile(FILE* f): _f(f), _open(false) {}
+ #endif
+ PackFile(const char *fn, const char *mode) {
+ _f = (FILE*) fopen(fn, mode);
+ assert(_f); // XXX add error handling
+ _open = (_f != 0);
+ }
+ void close() {
+ if (_open) {
+ fclose(_f);
+ _open = false;
+ }
+ }
+ };
+
+
/** Utility class for writing raw data to an object archive.
*
***************
*** 173,177 ****
* @author Mark Rose <tm...@st...>
*/
! class Packer: public Archive {
FILE *_f;
int _n;
--- 196,200 ----
* @author Mark Rose <tm...@st...>
*/
! class SIMDATA_EXPORT Packer: public Archive {
FILE *_f;
int _n;
***************
*** 180,185 ****
}
public:
! Packer(FILE* f): Archive(false) {
! _f = f;
resetCount();
}
--- 203,209 ----
}
public:
! Packer(PackFile f): Archive(false) {
! _f = static_cast<FILE*>(f);
! assert(_f != 0);
resetCount();
}
***************
*** 247,251 ****
* @author Mark Rose <tm...@st...>
*/
! class UnPacker: public Archive {
const char* _d;
int _n;
--- 271,275 ----
* @author Mark Rose <tm...@st...>
*/
! class SIMDATA_EXPORT UnPacker: public Archive {
const char* _d;
int _n;
***************
*** 355,358 ****
--- 379,383 ----
unpacker->operator()(x);
}
+
NAMESPACE_SIMDATA_END
Index: Date.i
===================================================================
RCS file: /cvsroot/csp/APPLICATIONS/SimData/Include/SimData/Date.i,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** Date.i 10 Aug 2003 17:52:08 -0000 1.6
--- Date.i 21 Oct 2003 16:23:34 -0000 1.7
***************
*** 35,38 ****
--- 35,50 ----
NAMESPACE_SIMDATA_END
+ %include exception.i
+ %exception {
+ try {
+ $function
+ } catch (SIMDATA(InvalidDate) e) {
+ e.clear();
+ SWIG_exception(SWIG_RuntimeError, e.getError().c_str());
+ }
+ }
+
%include "SimData/Date.h"
+
+ %exception;
Index: FileUtility.h
===================================================================
RCS file: /cvsroot/csp/APPLICATIONS/SimData/Include/SimData/FileUtility.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** FileUtility.h 19 Oct 2003 23:53:56 -0000 1.6
--- FileUtility.h 21 Oct 2003 16:23:34 -0000 1.7
***************
*** 143,146 ****
--- 143,147 ----
//@}
+
NAMESPACE_SIMDATA_END
|