Geant4 Cross Reference |
1 // Copyright (C) 2010, Guy Barrand. All rights 1 // Copyright (C) 2010, Guy Barrand. All rights reserved. 2 // See the file tools.license for terms. 2 // See the file tools.license for terms. 3 3 4 #ifndef tools_sg_read_action 4 #ifndef tools_sg_read_action 5 #define tools_sg_read_action 5 #define tools_sg_read_action 6 6 7 #include "action" 7 #include "action" 8 #include "ifield_factory" 8 #include "ifield_factory" 9 9 10 namespace tools { 10 namespace tools { 11 namespace io { 11 namespace io { 12 class irbuf; 12 class irbuf; 13 }} 13 }} 14 14 15 namespace tools { 15 namespace tools { 16 namespace sg { 16 namespace sg { 17 class node_desc; 17 class node_desc; 18 }} 18 }} 19 19 20 namespace tools { 20 namespace tools { 21 namespace sg { 21 namespace sg { 22 22 23 class read_action : public action { 23 class read_action : public action { 24 TOOLS_ACTION_NO_COPY(read_action,tools::sg:: 24 TOOLS_ACTION_NO_COPY(read_action,tools::sg::read_action,action) 25 public: 25 public: 26 virtual io::irbuf& buffer() = 0; 26 virtual io::irbuf& buffer() = 0; 27 virtual bool get_node_desc(const std::string 27 virtual bool get_node_desc(const std::string&,node_desc&) const = 0; 28 virtual const ifield_factory& field_factory( 28 virtual const ifield_factory& field_factory() const = 0; 29 public: 29 public: 30 read_action(std::ostream& a_out) 30 read_action(std::ostream& a_out) 31 :action(a_out){} 31 :action(a_out){} 32 virtual ~read_action(){} 32 virtual ~read_action(){} 33 protected: 33 protected: 34 read_action(const read_action& a_from) 34 read_action(const read_action& a_from) 35 :action(a_from) 35 :action(a_from) 36 {} 36 {} 37 read_action& operator=(const read_action& a_ 37 read_action& operator=(const read_action& a_from){ 38 action::operator=(a_from); 38 action::operator=(a_from); 39 return *this; 39 return *this; 40 } 40 } 41 }; 41 }; 42 42 43 }} 43 }} 44 44 45 #endif 45 #endif