ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/include/cfperl.h
(Generate patch)

Comparing deliantra/server/include/cfperl.h (file contents):
Revision 1.11 by root, Mon Aug 28 07:07:41 2006 UTC vs.
Revision 1.12 by root, Mon Aug 28 14:05:24 2006 UTC

105 { 105 {
106 subclass::get_dt (); 106 subclass::get_dt ();
107 } 107 }
108}; 108};
109 109
110struct object_freezer 110struct object_freezethaw
111{ 111{
112 const char *filename;
113 void *av; 112 void *av;
113 FILE *fp;
114
115 operator FILE *() { return fp; }
116};
117
118struct object_freezer : object_freezethaw
119{
120 void *filename;
114 121
115 object_freezer (const char *filename); 122 object_freezer (const char *filename);
116 ~object_freezer (); 123 ~object_freezer ();
117 124
118 void put (FILE *fp, attachable_base *ext); 125 void put (attachable_base *ext);
119 126
120 template<class subclass> 127 template<class subclass>
121 void put (FILE *fp, attachable<subclass> *obj) 128 void put (attachable<subclass> *obj)
122 { 129 {
123 put (fp, (attachable_base *)obj); 130 put ((attachable_base *)obj);
124 } 131 }
125
126 void finish ();
127}; 132};
128 133
129struct object_thawer 134struct object_thawer : object_freezethaw
130{ 135{
131 void *av;
132
133 object_thawer (const char *filename = 0); 136 object_thawer (FILE *fp, const char *filename = 0);
134 ~object_thawer (); 137 ~object_thawer ();
135 138
136 void get (data_type type, void *obj, attachable_base *ext, int oid); 139 void get (data_type type, void *obj, attachable_base *ext, int oid);
137 140
138 template<class subclass> 141 template<class subclass>
139 void get (attachable<subclass> *obj, int oid) 142 void get (attachable<subclass> *obj, int oid)
140 { 143 {
141 if (av) 144 if (av)
142 get (subclass::get_dt (), (subclass *)obj, obj, oid); 145 get (subclass::get_dt (), (subclass *)obj, obj, oid);
143 } 146 }
144
145 void finish ();
146}; 147};
147 148
148#endif 149#endif
149 150

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines