1 // 2 // File: MPQC_Chemistry_MoleculeViewer_Impl.hh 3 // Symbol: MPQC.Chemistry_MoleculeViewer-v0.2 4 // Symbol Type: class 5 // Babel Version: 0.10.2 6 // Description: Server-side implementation for MPQC.Chemistry_MoleculeViewer 7 // 8 // WARNING: Automatically generated; only changes within splicers preserved 9 // 10 // babel-version = 0.10.2 11 // 12 13 #ifndef included_MPQC_Chemistry_MoleculeViewer_Impl_hh 14 #define included_MPQC_Chemistry_MoleculeViewer_Impl_hh 15 16 #ifndef included_sidl_cxx_hh 17 #include "sidl_cxx.hh" 18 #endif 19 #ifndef included_MPQC_Chemistry_MoleculeViewer_IOR_h 20 #include "MPQC_Chemistry_MoleculeViewer_IOR.h" 21 #endif 22 // 23 // Includes for all method dependencies. 24 // 25 #ifndef included_Chemistry_Molecule_hh 26 #include "Chemistry_Molecule.hh" 27 #endif 28 #ifndef included_MPQC_Chemistry_MoleculeViewer_hh 29 #include "MPQC_Chemistry_MoleculeViewer.hh" 30 #endif 31 #ifndef included_gov_cca_CCAException_hh 32 #include "gov_cca_CCAException.hh" 33 #endif 34 #ifndef included_gov_cca_Services_hh 35 #include "gov_cca_Services.hh" 36 #endif 37 #ifndef included_sidl_BaseInterface_hh 38 #include "sidl_BaseInterface.hh" 39 #endif 40 #ifndef included_sidl_ClassInfo_hh 41 #include "sidl_ClassInfo.hh" 42 #endif 43 44 45 // DO-NOT-DELETE splicer.begin(MPQC.Chemistry_MoleculeViewer._includes) 46 47 #define USE_SOCKET 1 48 #if USE_SOCKET 49 #include "socket.h" 50 #endif // USE_SOCKET 51 52 // DO-NOT-DELETE splicer.end(MPQC.Chemistry_MoleculeViewer._includes) 53 54 namespace MPQC { 55 56 /** 57 * Symbol "MPQC.Chemistry_MoleculeViewer" (version 0.2) 58 */ 59 class Chemistry_MoleculeViewer_impl 60 // DO-NOT-DELETE splicer.begin(MPQC.Chemistry_MoleculeViewer._inherits) 61 62 /** Chemistry_MoleculeViewer_impl implements a component interface 63 for molecular viewers. 64 65 This is an implementation of a SIDL interface. 66 The stub code is generated by the Babel tool. Do not make 67 modifications outside of splicer blocks, as these will be lost. 68 This is a server implementation for a Babel class, the Babel 69 client code is provided by the cca-chem-generic package. 70 */ 71 72 // Put additional inheritance here... 73 // DO-NOT-DELETE splicer.end(MPQC.Chemistry_MoleculeViewer._inherits) 74 { 75 76 private: 77 // Pointer back to IOR. 78 // Use this to dispatch back through IOR vtable. 79 Chemistry_MoleculeViewer self; 80 81 // DO-NOT-DELETE splicer.begin(MPQC.Chemistry_MoleculeViewer._implementation) 82 83 gov::cca::Services services_; 84 Chemistry::Molecule molecule_; 85 int is_updated; 86 #if USE_SOCKET 87 TCPClientConnection socket_; 88 #endif // USE_SOCKET 89 90 // DO-NOT-DELETE splicer.end(MPQC.Chemistry_MoleculeViewer._implementation) 91 92 private: 93 // private default constructor (required) Chemistry_MoleculeViewer_impl()94 Chemistry_MoleculeViewer_impl() 95 {} 96 97 public: 98 // sidl constructor (required) 99 // Note: alternate Skel constructor doesn't call addref() 100 // (fixes bug #275) Chemistry_MoleculeViewer_impl(struct MPQC_Chemistry_MoleculeViewer__object * s)101 Chemistry_MoleculeViewer_impl( struct MPQC_Chemistry_MoleculeViewer__object 102 * s ) : self(s,true) { _ctor(); } 103 104 // user defined construction 105 void _ctor(); 106 107 // virtual destructor (required) ~Chemistry_MoleculeViewer_impl()108 virtual ~Chemistry_MoleculeViewer_impl() { _dtor(); } 109 110 // user defined destruction 111 void _dtor(); 112 113 // static class initializer 114 static void _load(); 115 116 public: 117 118 /** 119 * user defined non-static method. 120 */ 121 void 122 set_molecule ( 123 /* in */ ::Chemistry::Molecule molecule 124 ) 125 throw () 126 ; 127 128 /** 129 * user defined non-static method. 130 */ 131 void 132 set_coor ( 133 /* in */ const ::std::string& coords 134 ) 135 throw () 136 ; 137 138 /** 139 * user defined non-static method. 140 */ 141 void 142 run_gui() throw () 143 ; 144 /** 145 * user defined non-static method. 146 */ 147 void 148 draw() throw () 149 ; 150 151 /** 152 * Starts up a component presence in the calling framework. 153 * @param Svc the component instance's handle on the framework world. 154 * Contracts concerning Svc and setServices: 155 * 156 * The component interaction with the CCA framework 157 * and Ports begins on the call to setServices by the framework. 158 * 159 * This function is called exactly once for each instance created 160 * by the framework. 161 * 162 * The argument Svc will never be nil/null. 163 * 164 * Those uses ports which are automatically connected by the framework 165 * (so-called service-ports) may be obtained via getPort during 166 * setServices. 167 */ 168 void 169 setServices ( 170 /* in */ ::gov::cca::Services services 171 ) 172 throw ( 173 ::gov::cca::CCAException 174 ); 175 176 }; // end class Chemistry_MoleculeViewer_impl 177 178 } // end namespace MPQC 179 180 // DO-NOT-DELETE splicer.begin(MPQC.Chemistry_MoleculeViewer._misc) 181 // Put miscellaneous things here... 182 // DO-NOT-DELETE splicer.end(MPQC.Chemistry_MoleculeViewer._misc) 183 184 #endif 185