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