#ifndef GLONASS_H_ #define GLONASS_H_ // This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild #include "kaitai/kaitaistruct.h" #include #if KAITAI_STRUCT_VERSION < 9000L #error "Incompatible Kaitai Struct C++/STL API: version 0.9 or later is required" #endif class glonass_t : public kaitai::kstruct { public: class string_4_t; class string_non_immediate_t; class string_5_t; class string_1_t; class string_2_t; class string_3_t; glonass_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent = 0, glonass_t* p__root = 0); private: void _read(); void _clean_up(); public: ~glonass_t(); class string_4_t : public kaitai::kstruct { public: string_4_t(kaitai::kstream* p__io, glonass_t* p__parent = 0, glonass_t* p__root = 0); private: void _read(); void _clean_up(); public: ~string_4_t(); private: bool f_tau_n; int32_t m_tau_n; public: int32_t tau_n(); private: bool f_delta_tau_n; int32_t m_delta_tau_n; public: int32_t delta_tau_n(); private: bool m_tau_n_sign; uint64_t m_tau_n_value; bool m_delta_tau_n_sign; uint64_t m_delta_tau_n_value; uint64_t m_e_n; uint64_t m_not_used_1; bool m_p4; uint64_t m_f_t; uint64_t m_not_used_2; uint64_t m_n_t; uint64_t m_n; uint64_t m_m; glonass_t* m__root; glonass_t* m__parent; public: bool tau_n_sign() const { return m_tau_n_sign; } uint64_t tau_n_value() const { return m_tau_n_value; } bool delta_tau_n_sign() const { return m_delta_tau_n_sign; } uint64_t delta_tau_n_value() const { return m_delta_tau_n_value; } uint64_t e_n() const { return m_e_n; } uint64_t not_used_1() const { return m_not_used_1; } bool p4() const { return m_p4; } uint64_t f_t() const { return m_f_t; } uint64_t not_used_2() const { return m_not_used_2; } uint64_t n_t() const { return m_n_t; } uint64_t n() const { return m_n; } uint64_t m() const { return m_m; } glonass_t* _root() const { return m__root; } glonass_t* _parent() const { return m__parent; } }; class string_non_immediate_t : public kaitai::kstruct { public: string_non_immediate_t(kaitai::kstream* p__io, glonass_t* p__parent = 0, glonass_t* p__root = 0); private: void _read(); void _clean_up(); public: ~string_non_immediate_t(); private: uint64_t m_data_1; uint64_t m_data_2; glonass_t* m__root; glonass_t* m__parent; public: uint64_t data_1() const { return m_data_1; } uint64_t data_2() const { return m_data_2; } glonass_t* _root() const { return m__root; } glonass_t* _parent() const { return m__parent; } }; class string_5_t : public kaitai::kstruct { public: string_5_t(kaitai::kstream* p__io, glonass_t* p__parent = 0, glonass_t* p__root = 0); private: void _read(); void _clean_up(); public: ~string_5_t(); private: uint64_t m_n_a; uint64_t m_tau_c; bool m_not_used; uint64_t m_n_4; uint64_t m_tau_gps; bool m_l_n; glonass_t* m__root; glonass_t* m__parent; public: uint64_t n_a() const { return m_n_a; } uint64_t tau_c() const { return m_tau_c; } bool not_used() const { return m_not_used; } uint64_t n_4() const { return m_n_4; } uint64_t tau_gps() const { return m_tau_gps; } bool l_n() const { return m_l_n; } glonass_t* _root() const { return m__root; } glonass_t* _parent() const { return m__parent; } }; class string_1_t : public kaitai::kstruct { public: string_1_t(kaitai::kstream* p__io, glonass_t* p__parent = 0, glonass_t* p__root = 0); private: void _read(); void _clean_up(); public: ~string_1_t(); private: bool f_x_vel; int32_t m_x_vel; public: int32_t x_vel(); private: bool f_x_accel; int32_t m_x_accel; public: int32_t x_accel(); private: bool f_x; int32_t m_x; public: int32_t x(); private: uint64_t m_not_used; uint64_t m_p1; uint64_t m_t_k; bool m_x_vel_sign; uint64_t m_x_vel_value; bool m_x_accel_sign; uint64_t m_x_accel_value; bool m_x_sign; uint64_t m_x_value; glonass_t* m__root; glonass_t* m__parent; public: uint64_t not_used() const { return m_not_used; } uint64_t p1() const { return m_p1; } uint64_t t_k() const { return m_t_k; } bool x_vel_sign() const { return m_x_vel_sign; } uint64_t x_vel_value() const { return m_x_vel_value; } bool x_accel_sign() const { return m_x_accel_sign; } uint64_t x_accel_value() const { return m_x_accel_value; } bool x_sign() const { return m_x_sign; } uint64_t x_value() const { return m_x_value; } glonass_t* _root() const { return m__root; } glonass_t* _parent() const { return m__parent; } }; class string_2_t : public kaitai::kstruct { public: string_2_t(kaitai::kstream* p__io, glonass_t* p__parent = 0, glonass_t* p__root = 0); private: void _read(); void _clean_up(); public: ~string_2_t(); private: bool f_y_vel; int32_t m_y_vel; public: int32_t y_vel(); private: bool f_y_accel; int32_t m_y_accel; public: int32_t y_accel(); private: bool f_y; int32_t m_y; public: int32_t y(); private: uint64_t m_b_n; bool m_p2; uint64_t m_t_b; uint64_t m_not_used; bool m_y_vel_sign; uint64_t m_y_vel_value; bool m_y_accel_sign; uint64_t m_y_accel_value; bool m_y_sign; uint64_t m_y_value; glonass_t* m__root; glonass_t* m__parent; public: uint64_t b_n() const { return m_b_n; } bool p2() const { return m_p2; } uint64_t t_b() const { return m_t_b; } uint64_t not_used() const { return m_not_used; } bool y_vel_sign() const { return m_y_vel_sign; } uint64_t y_vel_value() const { return m_y_vel_value; } bool y_accel_sign() const { return m_y_accel_sign; } uint64_t y_accel_value() const { return m_y_accel_value; } bool y_sign() const { return m_y_sign; } uint64_t y_value() const { return m_y_value; } glonass_t* _root() const { return m__root; } glonass_t* _parent() const { return m__parent; } }; class string_3_t : public kaitai::kstruct { public: string_3_t(kaitai::kstream* p__io, glonass_t* p__parent = 0, glonass_t* p__root = 0); private: void _read(); void _clean_up(); public: ~string_3_t(); private: bool f_gamma_n; int32_t m_gamma_n; public: int32_t gamma_n(); private: bool f_z_vel; int32_t m_z_vel; public: int32_t z_vel(); private: bool f_z_accel; int32_t m_z_accel; public: int32_t z_accel(); private: bool f_z; int32_t m_z; public: int32_t z(); private: bool m_p3; bool m_gamma_n_sign; uint64_t m_gamma_n_value; bool m_not_used; uint64_t m_p; bool m_l_n; bool m_z_vel_sign; uint64_t m_z_vel_value; bool m_z_accel_sign; uint64_t m_z_accel_value; bool m_z_sign; uint64_t m_z_value; glonass_t* m__root; glonass_t* m__parent; public: bool p3() const { return m_p3; } bool gamma_n_sign() const { return m_gamma_n_sign; } uint64_t gamma_n_value() const { return m_gamma_n_value; } bool not_used() const { return m_not_used; } uint64_t p() const { return m_p; } bool l_n() const { return m_l_n; } bool z_vel_sign() const { return m_z_vel_sign; } uint64_t z_vel_value() const { return m_z_vel_value; } bool z_accel_sign() const { return m_z_accel_sign; } uint64_t z_accel_value() const { return m_z_accel_value; } bool z_sign() const { return m_z_sign; } uint64_t z_value() const { return m_z_value; } glonass_t* _root() const { return m__root; } glonass_t* _parent() const { return m__parent; } }; private: bool m_idle_chip; uint64_t m_string_number; kaitai::kstruct* m_data; uint64_t m_hamming_code; uint64_t m_pad_1; uint64_t m_superframe_number; uint64_t m_pad_2; uint64_t m_frame_number; glonass_t* m__root; kaitai::kstruct* m__parent; public: bool idle_chip() const { return m_idle_chip; } uint64_t string_number() const { return m_string_number; } kaitai::kstruct* data() const { return m_data; } uint64_t hamming_code() const { return m_hamming_code; } uint64_t pad_1() const { return m_pad_1; } uint64_t superframe_number() const { return m_superframe_number; } uint64_t pad_2() const { return m_pad_2; } uint64_t frame_number() const { return m_frame_number; } glonass_t* _root() const { return m__root; } kaitai::kstruct* _parent() const { return m__parent; } }; #endif // GLONASS_H_