aboutsummaryrefslogtreecommitdiff
path: root/src/stable/archive.h
diff options
context:
space:
mode:
authorMike Buland <mbuland@penny-arcade.com>2022-04-20 14:04:47 -0700
committerMike Buland <mbuland@penny-arcade.com>2022-04-20 14:04:47 -0700
commitfd56cdd21a7c9c944ad189cf91ff24d3c2b0f975 (patch)
treef16f7e7f54399ef9c753beb87069eed8122dbccb /src/stable/archive.h
parentd10e6a5ca0905f0ef2836cd98aebfb48e7f1e8a3 (diff)
downloadlibbu++-fd56cdd21a7c9c944ad189cf91ff24d3c2b0f975.tar.gz
libbu++-fd56cdd21a7c9c944ad189cf91ff24d3c2b0f975.tar.bz2
libbu++-fd56cdd21a7c9c944ad189cf91ff24d3c2b0f975.tar.xz
libbu++-fd56cdd21a7c9c944ad189cf91ff24d3c2b0f975.zip
Gradually moving to better archive structure.
It's dragging other new API changes along with it, including use of Blob and Text.
Diffstat (limited to 'src/stable/archive.h')
-rw-r--r--src/stable/archive.h46
1 files changed, 44 insertions, 2 deletions
diff --git a/src/stable/archive.h b/src/stable/archive.h
index 45d9af6..2cd340c 100644
--- a/src/stable/archive.h
+++ b/src/stable/archive.h
@@ -16,6 +16,8 @@
16 16
17namespace Bu 17namespace Bu
18{ 18{
19 class Text;
20
19 class Archive 21 class Archive
20 { 22 {
21 public: 23 public:
@@ -29,10 +31,46 @@ namespace Bu
29 }; 31 };
30 32
31 virtual void close()=0; 33 virtual void close()=0;
32 virtual void write( const void *pData, size_t iLength )=0; 34// virtual void write( const void *pData, size_t iLength )=0;
33 virtual void read( void *pData, size_t iLength )=0; 35// virtual void read( void *pData, size_t iLength )=0;
34 virtual bool isLoading()=0; 36 virtual bool isLoading()=0;
35 37
38 virtual void write( bool rData )=0;
39 virtual void write( unsigned char rData )=0;
40 virtual void write( char rData )=0;
41 virtual void write( signed char rData )=0;
42 virtual void write( unsigned short rData )=0;
43 virtual void write( signed short rData )=0;
44 virtual void write( unsigned int rData )=0;
45 virtual void write( signed int rData )=0;
46 virtual void write( unsigned long rData )=0;
47 virtual void write( signed long rData )=0;
48 virtual void write( unsigned long long rData )=0;
49 virtual void write( signed long long rData )=0;
50 virtual void write( float rData )=0;
51 virtual void write( double rData )=0;
52 virtual void write( long double rData )=0;
53 virtual void write( const Bu::Blob &rData )=0;
54 virtual void write( const Bu::Text &rData )=0;
55
56 virtual void read( bool &rData )=0;
57 virtual void read( unsigned char &rData )=0;
58 virtual void read( char &rData )=0;
59 virtual void read( signed char &rData )=0;
60 virtual void read( unsigned short &rData )=0;
61 virtual void read( signed short &rData )=0;
62 virtual void read( unsigned int &rData )=0;
63 virtual void read( signed int &rData )=0;
64 virtual void read( unsigned long &rData )=0;
65 virtual void read( signed long &rData )=0;
66 virtual void read( unsigned long long &rData )=0;
67 virtual void read( signed long long &rData )=0;
68 virtual void read( float &rData )=0;
69 virtual void read( double &rData )=0;
70 virtual void read( long double &rData )=0;
71 virtual void read( Bu::Blob &rData )=0;
72 virtual void read( Bu::Text &rData )=0;
73
36 virtual void setProperty( const Bu::Blob &rKey, 74 virtual void setProperty( const Bu::Blob &rKey,
37 const Bu::Variant &rValue )=0; 75 const Bu::Variant &rValue )=0;
38 virtual Bu::Variant getProperty( const Bu::Blob &rKey ) const=0; 76 virtual Bu::Variant getProperty( const Bu::Blob &rKey ) const=0;
@@ -65,6 +103,8 @@ namespace Bu
65 Archive &operator<<( Archive &ar, float p ); 103 Archive &operator<<( Archive &ar, float p );
66 Archive &operator<<( Archive &ar, double p ); 104 Archive &operator<<( Archive &ar, double p );
67 Archive &operator<<( Archive &ar, long double p ); 105 Archive &operator<<( Archive &ar, long double p );
106 Archive &operator<<( Archive &ar, const Bu::Blob &p );
107 Archive &operator<<( Archive &ar, const Bu::Text &p );
68 108
69 Archive &operator>>( Archive &ar, bool &p ); 109 Archive &operator>>( Archive &ar, bool &p );
70 Archive &operator>>( Archive &ar, char &p ); 110 Archive &operator>>( Archive &ar, char &p );
@@ -81,6 +121,8 @@ namespace Bu
81 Archive &operator>>( Archive &ar, float &p ); 121 Archive &operator>>( Archive &ar, float &p );
82 Archive &operator>>( Archive &ar, double &p ); 122 Archive &operator>>( Archive &ar, double &p );
83 Archive &operator>>( Archive &ar, long double &p ); 123 Archive &operator>>( Archive &ar, long double &p );
124 Archive &operator>>( Archive &ar, Bu::Blob &p );
125 Archive &operator>>( Archive &ar, Bu::Text &p );
84}; 126};
85 127
86#endif 128#endif