33 #include "../my_config.h"
49 const U_32 SAUV_MAGIC_NUMBER = 123;
51 typedef U_32 magic_number;
55 flag_type_terminal =
'T',
56 flag_type_non_terminal =
'N',
57 flag_type_located_at_end_of_slice =
'E'
79 const struct header & operator = (
const header & ref) { free_pointers(); copy_from(ref);
return *
this; };
80 ~
header() { free_pointers(); };
98 static U_I
min_size() {
return sizeof(magic_number) +
sizeof(label) + 2*
sizeof(char); };
103 magic_number & get_set_magic() {
return magic; };
104 label & get_set_internal_name() {
return internal_name; };
105 char & get_set_flag() {
return flag; };
106 label & get_set_data_name() {
return data_name; };
108 bool get_first_slice_size(infinint & size)
const;
109 void set_first_slice_size(
const infinint & size);
110 void unset_first_slice_size() {
if(first_size != NULL) {
delete first_size; first_size = NULL; } };
112 bool get_slice_size(infinint & size)
const;
113 void set_slice_size(
const infinint & size);
114 void unset_slice_size() {
if(slice_size != NULL) {
delete slice_size; slice_size = NULL; } };
116 bool is_old_header()
const {
return old_header; };
123 infinint *first_size;
124 infinint *slice_size;
128 void copy_from(
const header & ref);
129 void free_pointers();
130 void fill_from(user_interaction & ui,
const tlv_list & list);
131 tlv_list build_tlv_list(user_interaction & ui)
const;