#include <cms_up.hh>
Inheritance diagram for CMS_UPDATER:
Public Methods | |
virtual CMS_STATUS | update (char &x)=0 |
virtual CMS_STATUS | update (unsigned char &x)=0 |
virtual CMS_STATUS | update (short int &x)=0 |
virtual CMS_STATUS | update (unsigned short int &x)=0 |
virtual CMS_STATUS | update (int &x)=0 |
virtual CMS_STATUS | update (unsigned int &x)=0 |
virtual CMS_STATUS | update (long int &x)=0 |
virtual CMS_STATUS | update (unsigned long int &x)=0 |
virtual CMS_STATUS | update (float &x)=0 |
virtual CMS_STATUS | update (double &x)=0 |
virtual CMS_STATUS | update (long double &x)=0 |
virtual CMS_STATUS | update (char *x, unsigned int len)=0 |
virtual CMS_STATUS | update (unsigned char *x, unsigned int len)=0 |
virtual CMS_STATUS | update (short *x, unsigned int len)=0 |
virtual CMS_STATUS | update (unsigned short *x, unsigned int len)=0 |
virtual CMS_STATUS | update (int *x, unsigned int len)=0 |
virtual CMS_STATUS | update (unsigned int *x, unsigned int len)=0 |
virtual CMS_STATUS | update (long *x, unsigned int len)=0 |
virtual CMS_STATUS | update (unsigned long *x, unsigned int len)=0 |
virtual CMS_STATUS | update (float *x, unsigned int len)=0 |
virtual CMS_STATUS | update (double *x, unsigned int len)=0 |
virtual CMS_STATUS | update (long double *x, unsigned int len)=0 |
virtual void | rewind () |
virtual int | get_encoded_msg_size ()=0 |
virtual int | set_mode (CMS_UPDATER_MODE) |
virtual CMS_UPDATER_MODE | get_mode () |
virtual void | set_encoded_data (void *, long _encoded_data_size) |
Protected Methods | |
virtual int | check_pointer (char RCS_HUGE *ptr, long bytes) |
CMS_UPDATER (CMS *, int create_encoded_data=1, long _neutral_size_factor=4) | |
virtual | ~CMS_UPDATER () |
Protected Attributes | |
void *& | encoded_data |
void *& | encoded_header |
void *& | encoded_queuing_header |
CMS_STATUS & | status |
long & | size |
long & | encoded_header_size |
long & | encoded_queuing_header_size |
int & | using_external_encoded_data |
int & | pointer_check_disabled |
long & | encoded_data_size |
CMS_UPDATER_MODE | mode |
CMS * | cms_parent |
long | neutral_size_factor |
int | encoding |
Friends | |
class RCS_EXPORT | CMS |
|
Definition at line 28 of file cms_up.cc. 00029 : 00030 /********************************************** 00031 * Aliases to variables in the CMS parent 00032 * using aliases lets CMS and its CMS_UPDATER share this information 00033 * more conveniently and allowed the CMS_UPDATER functions to be pulled out 00034 * of CMS with fewer changes. (WPS - 6/12/95) 00035 *********************************************/ 00036 encoded_data (_cms_parent->encoded_data), 00037 encoded_header (_cms_parent->encoded_header), 00038 encoded_queuing_header (_cms_parent->encoded_queuing_header), 00039 status (_cms_parent->status), 00040 size (_cms_parent->size), 00041 encoded_header_size (_cms_parent->encoded_header_size), 00042 encoded_queuing_header_size (_cms_parent->encoded_queuing_header_size), 00043 using_external_encoded_data (_cms_parent->using_external_encoded_data), 00044 pointer_check_disabled (_cms_parent->pointer_check_disabled), 00045 encoded_data_size (_cms_parent->encoded_data_size) 00046 { 00047 cms_parent = _cms_parent; 00048 mode = CMS_NO_UPDATE; 00049 neutral_size_factor = _neutral_size_factor; 00050 if (encoded_data == NULL && create_encoded_data) 00051 { 00052 if (cms_parent->enc_max_size > 0 00053 && cms_parent->enc_max_size < neutral_size_factor * size) 00054 { 00055 set_encoded_data (DEBUG_MALLOC (cms_parent->enc_max_size), 00056 cms_parent->enc_max_size); 00057 } 00058 else 00059 { 00060 set_encoded_data (DEBUG_MALLOC (neutral_size_factor * size), 00061 neutral_size_factor * size); 00062 } 00063 using_external_encoded_data = 0; 00064 } 00065 } |
|
Definition at line 67 of file cms_up.cc. 00068 { 00069 #ifdef CMS_SUPPORT_POINTERS 00070 if (NULL != ptr_table) 00071 { 00072 delete ptr_table; 00073 } 00074 #endif 00075 } |
|
Reimplemented in CMS_ASCII_UPDATER, CMS_DISPLAY_ASCII_UPDATER, and CMS_XDR_UPDATER. Referenced by CMS::decode_header(), CMS::decode_queuing_header(), CMS::encode_header(), CMS::encode_queuing_header(), and CMS::update().
|
|
Reimplemented in CMS_ASCII_UPDATER, CMS_DISPLAY_ASCII_UPDATER, and CMS_XDR_UPDATER. |
|
Reimplemented in CMS_ASCII_UPDATER, CMS_DISPLAY_ASCII_UPDATER, and CMS_XDR_UPDATER. |
|
Reimplemented in CMS_ASCII_UPDATER, CMS_DISPLAY_ASCII_UPDATER, and CMS_XDR_UPDATER. |
|
Reimplemented in CMS_ASCII_UPDATER, CMS_DISPLAY_ASCII_UPDATER, and CMS_XDR_UPDATER. |
|
Reimplemented in CMS_ASCII_UPDATER, CMS_DISPLAY_ASCII_UPDATER, and CMS_XDR_UPDATER. |
|
Reimplemented in CMS_ASCII_UPDATER, CMS_DISPLAY_ASCII_UPDATER, and CMS_XDR_UPDATER. |
|
Reimplemented in CMS_ASCII_UPDATER, CMS_DISPLAY_ASCII_UPDATER, and CMS_XDR_UPDATER. |
|
Reimplemented in CMS_ASCII_UPDATER, CMS_DISPLAY_ASCII_UPDATER, and CMS_XDR_UPDATER. |
|
Reimplemented in CMS_ASCII_UPDATER, CMS_DISPLAY_ASCII_UPDATER, and CMS_XDR_UPDATER. |
|
Reimplemented in CMS_ASCII_UPDATER, CMS_DISPLAY_ASCII_UPDATER, and CMS_XDR_UPDATER. |
|
Reimplemented in CMS_ASCII_UPDATER, CMS_DISPLAY_ASCII_UPDATER, and CMS_XDR_UPDATER. |
|
Reimplemented in CMS_ASCII_UPDATER, CMS_DISPLAY_ASCII_UPDATER, and CMS_XDR_UPDATER. |
|
Reimplemented in CMS_ASCII_UPDATER, CMS_DISPLAY_ASCII_UPDATER, and CMS_XDR_UPDATER. |
|
Reimplemented in CMS_ASCII_UPDATER, CMS_DISPLAY_ASCII_UPDATER, and CMS_XDR_UPDATER. |
|
Reimplemented in CMS_ASCII_UPDATER, CMS_DISPLAY_ASCII_UPDATER, and CMS_XDR_UPDATER. |
|
Reimplemented in CMS_ASCII_UPDATER, CMS_DISPLAY_ASCII_UPDATER, and CMS_XDR_UPDATER. |
|
Reimplemented in CMS_ASCII_UPDATER, CMS_DISPLAY_ASCII_UPDATER, and CMS_XDR_UPDATER. |
|
Reimplemented in CMS_ASCII_UPDATER, CMS_DISPLAY_ASCII_UPDATER, and CMS_XDR_UPDATER. |
|
Reimplemented in CMS_ASCII_UPDATER, CMS_DISPLAY_ASCII_UPDATER, and CMS_XDR_UPDATER. |
|
Reimplemented in CMS_ASCII_UPDATER, CMS_DISPLAY_ASCII_UPDATER, and CMS_XDR_UPDATER. |
|
Reimplemented in CMS_ASCII_UPDATER, CMS_DISPLAY_ASCII_UPDATER, and CMS_XDR_UPDATER. |
|
Reimplemented in CMS_ASCII_UPDATER, CMS_DISPLAY_ASCII_UPDATER, and CMS_XDR_UPDATER. Definition at line 181 of file cms_up.cc. Referenced by CMS::decode_header(), CMS::decode_queuing_header(), CMS::encode_header(), CMS::encode_queuing_header(), CMS_XDR_UPDATER::rewind(), CMS_DISPLAY_ASCII_UPDATER::rewind(), CMS_ASCII_UPDATER::rewind(), and CMS::rewind().
00182 { 00183 } |
|
Reimplemented in CMS_ASCII_UPDATER, CMS_DISPLAY_ASCII_UPDATER, and CMS_XDR_UPDATER. Referenced by CMS::encode_header(), CMS::encode_queuing_header(), and CMS::get_encoded_msg_size().
|
|
Reimplemented in CMS_ASCII_UPDATER, CMS_DISPLAY_ASCII_UPDATER, and CMS_XDR_UPDATER. Definition at line 186 of file cms_up.cc. Referenced by CMS::decode_header(), CMS::decode_queuing_header(), CMS::encode_header(), CMS::encode_queuing_header(), CMS_XDR_UPDATER::set_mode(), CMS_DISPLAY_ASCII_UPDATER::set_mode(), CMS_ASCII_UPDATER::set_mode(), and CMS::set_mode().
00187 { 00188 mode = _mode; 00189 switch (mode) 00190 { 00191 case CMS_NO_UPDATE: 00192 break; 00193 00194 case CMS_ENCODE_DATA: 00195 encoding = 1; 00196 break; 00197 00198 case CMS_DECODE_DATA: 00199 encoding = 0; 00200 break; 00201 00202 case CMS_ENCODE_HEADER: 00203 encoding = 1; 00204 break; 00205 00206 case CMS_DECODE_HEADER: 00207 encoding = 0; 00208 break; 00209 00210 case CMS_ENCODE_QUEUING_HEADER: 00211 encoding = 1; 00212 break; 00213 00214 case CMS_DECODE_QUEUING_HEADER: 00215 encoding = 0; 00216 break; 00217 00218 default: 00219 rcs_print_error ("CMS updater in invalid mode.\n"); 00220 return (-1); 00221 } 00222 return (0); 00223 } |
|
Definition at line 226 of file cms_up.cc. Referenced by CMS::decode_header(), CMS::decode_queuing_header(), CMS::encode_header(), and CMS::encode_queuing_header().
00227 { 00228 return mode; 00229 } |
|
Reimplemented in CMS_XDR_UPDATER. Definition at line 243 of file cms_up.cc. Referenced by CMS_UPDATER(), and CMS::set_encoded_data().
00244 { 00245 if (NULL != encoded_data && 00246 !using_external_encoded_data && encoded_data != _encoded_data) 00247 { 00248 DEBUG_FREE (encoded_data); 00249 encoded_data = NULL; 00250 } 00251 encoded_data = _encoded_data; 00252 encoded_data_size = _encoded_data_size; 00253 using_external_encoded_data = 1; 00254 } |
|
Reimplemented in CMS_ASCII_UPDATER, CMS_DISPLAY_ASCII_UPDATER, and CMS_XDR_UPDATER. Definition at line 233 of file cms_up.cc. 00234 { 00235 if (NULL == cms_parent) 00236 { 00237 return (-1); 00238 } 00239 return (cms_parent->check_pointer (_pointer, _bytes)); 00240 } |
|
Reimplemented in CMS_ASCII_UPDATER, CMS_DISPLAY_ASCII_UPDATER, and CMS_XDR_UPDATER. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 97 of file cms_up.hh. Referenced by CMS::open().
|
|
Reimplemented in CMS_DISPLAY_ASCII_UPDATER. |