changed: gcc8 base update
[opensg.git] / Source / System / Cluster / Window / Base / OSGClusterWindowBase.h
bloba519a10aa444f17d247ef5d05f7db33d7485475c
1 /*---------------------------------------------------------------------------*\
2 * OpenSG *
3 * *
4 * *
5 * Copyright (C) 2000-2013 by the OpenSG Forum *
6 * *
7 * www.opensg.org *
8 * *
9 * contact: dirk@opensg.org, gerrit.voss@vossg.org, carsten_neumann@gmx.net *
10 * *
11 \*---------------------------------------------------------------------------*/
12 /*---------------------------------------------------------------------------*\
13 * License *
14 * *
15 * This library is free software; you can redistribute it and/or modify it *
16 * under the terms of the GNU Library General Public License as published *
17 * by the Free Software Foundation, version 2. *
18 * *
19 * This library is distributed in the hope that it will be useful, but *
20 * WITHOUT ANY WARRANTY; without even the implied warranty of *
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
22 * Library General Public License for more details. *
23 * *
24 * You should have received a copy of the GNU Library General Public *
25 * License along with this library; if not, write to the Free Software *
26 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *
27 * *
28 \*---------------------------------------------------------------------------*/
29 /*---------------------------------------------------------------------------*\
30 * Changes *
31 * *
32 * *
33 * *
34 * *
35 * *
36 * *
37 \*---------------------------------------------------------------------------*/
39 /*****************************************************************************\
40 *****************************************************************************
41 ** **
42 ** This file is automatically generated. **
43 ** **
44 ** Any changes made to this file WILL be lost when it is **
45 ** regenerated, which can become necessary at any time. **
46 ** **
47 ** Do not change this file, changes should be done in the derived **
48 ** class ClusterWindow
49 ** **
50 *****************************************************************************
51 \*****************************************************************************/
54 #ifndef _OSGCLUSTERWINDOWBASE_H_
55 #define _OSGCLUSTERWINDOWBASE_H_
56 #ifdef __sgi
57 #pragma once
58 #endif
61 #include "OSGConfig.h"
62 #include "OSGClusterDef.h"
64 //#include "OSGBaseTypes.h"
66 #include "OSGWindow.h" // Parent
68 #include "OSGBaseFields.h" // Servers type
69 #include "OSGSysFields.h" // ServerIds type
70 #include "OSGWindowFields.h" // ClientWindow type
71 #include "OSGImageComposerFields.h" // Composer type
73 #include "OSGClusterWindowFields.h"
75 OSG_BEGIN_NAMESPACE
78 class ClusterWindow;
80 //! \brief ClusterWindow Base Class.
82 class OSG_CLUSTER_DLLMAPPING ClusterWindowBase : public Window
84 public:
86 typedef Window Inherited;
87 typedef Window ParentContainer;
89 typedef Inherited::TypeObject TypeObject;
90 typedef TypeObject::InitPhase InitPhase;
92 OSG_GEN_INTERNALPTR(ClusterWindow);
94 /*========================== PUBLIC =================================*/
96 public:
98 enum
100 ServersFieldId = Inherited::NextFieldId,
101 ServerIdsFieldId = ServersFieldId + 1,
102 ConnectionTypeFieldId = ServerIdsFieldId + 1,
103 ConnectionInterfaceFieldId = ConnectionTypeFieldId + 1,
104 ConnectionDestinationFieldId = ConnectionInterfaceFieldId + 1,
105 ConnectionParamsFieldId = ConnectionDestinationFieldId + 1,
106 ServicePortFieldId = ConnectionParamsFieldId + 1,
107 ServiceAddressFieldId = ServicePortFieldId + 1,
108 ServiceInterfaceFieldId = ServiceAddressFieldId + 1,
109 ClientWindowFieldId = ServiceInterfaceFieldId + 1,
110 InterleaveFieldId = ClientWindowFieldId + 1,
111 FrameCountFieldId = InterleaveFieldId + 1,
112 ComposerFieldId = FrameCountFieldId + 1,
113 AutostartFieldId = ComposerFieldId + 1,
114 NextFieldId = AutostartFieldId + 1
117 static const OSG::BitVector ServersFieldMask =
118 (TypeTraits<BitVector>::One << ServersFieldId);
119 static const OSG::BitVector ServerIdsFieldMask =
120 (TypeTraits<BitVector>::One << ServerIdsFieldId);
121 static const OSG::BitVector ConnectionTypeFieldMask =
122 (TypeTraits<BitVector>::One << ConnectionTypeFieldId);
123 static const OSG::BitVector ConnectionInterfaceFieldMask =
124 (TypeTraits<BitVector>::One << ConnectionInterfaceFieldId);
125 static const OSG::BitVector ConnectionDestinationFieldMask =
126 (TypeTraits<BitVector>::One << ConnectionDestinationFieldId);
127 static const OSG::BitVector ConnectionParamsFieldMask =
128 (TypeTraits<BitVector>::One << ConnectionParamsFieldId);
129 static const OSG::BitVector ServicePortFieldMask =
130 (TypeTraits<BitVector>::One << ServicePortFieldId);
131 static const OSG::BitVector ServiceAddressFieldMask =
132 (TypeTraits<BitVector>::One << ServiceAddressFieldId);
133 static const OSG::BitVector ServiceInterfaceFieldMask =
134 (TypeTraits<BitVector>::One << ServiceInterfaceFieldId);
135 static const OSG::BitVector ClientWindowFieldMask =
136 (TypeTraits<BitVector>::One << ClientWindowFieldId);
137 static const OSG::BitVector InterleaveFieldMask =
138 (TypeTraits<BitVector>::One << InterleaveFieldId);
139 static const OSG::BitVector FrameCountFieldMask =
140 (TypeTraits<BitVector>::One << FrameCountFieldId);
141 static const OSG::BitVector ComposerFieldMask =
142 (TypeTraits<BitVector>::One << ComposerFieldId);
143 static const OSG::BitVector AutostartFieldMask =
144 (TypeTraits<BitVector>::One << AutostartFieldId);
145 static const OSG::BitVector NextFieldMask =
146 (TypeTraits<BitVector>::One << NextFieldId);
148 typedef MFString MFServersType;
149 typedef MFUInt32 MFServerIdsType;
150 typedef SFString SFConnectionTypeType;
151 typedef SFString SFConnectionInterfaceType;
152 typedef SFString SFConnectionDestinationType;
153 typedef SFString SFConnectionParamsType;
154 typedef SFUInt32 SFServicePortType;
155 typedef SFString SFServiceAddressType;
156 typedef SFString SFServiceInterfaceType;
157 typedef SFUnrecWindowPtr SFClientWindowType;
158 typedef SFUInt32 SFInterleaveType;
159 typedef SFUInt32 SFFrameCountType;
160 typedef SFUnrecImageComposerPtr SFComposerType;
161 typedef MFString MFAutostartType;
163 /*---------------------------------------------------------------------*/
164 /*! \name Class Get */
165 /*! \{ */
167 static FieldContainerType &getClassType (void);
168 static UInt32 getClassTypeId (void);
169 static UInt16 getClassGroupId(void);
171 /*! \} */
172 /*---------------------------------------------------------------------*/
173 /*! \name FieldContainer Get */
174 /*! \{ */
176 virtual FieldContainerType &getType (void);
177 virtual const FieldContainerType &getType (void) const;
179 virtual UInt32 getContainerSize(void) const;
181 /*! \} */
182 /*---------------------------------------------------------------------*/
183 /*! \name Field Get */
184 /*! \{ */
187 MFString *editMFServers (void);
188 const MFString *getMFServers (void) const;
190 MFUInt32 *editMFServerIds (void);
191 const MFUInt32 *getMFServerIds (void) const;
193 SFString *editSFConnectionType (void);
194 const SFString *getSFConnectionType (void) const;
196 SFString *editSFConnectionInterface(void);
197 const SFString *getSFConnectionInterface (void) const;
199 SFString *editSFConnectionDestination(void);
200 const SFString *getSFConnectionDestination (void) const;
202 SFString *editSFConnectionParams(void);
203 const SFString *getSFConnectionParams (void) const;
205 SFUInt32 *editSFServicePort (void);
206 const SFUInt32 *getSFServicePort (void) const;
208 SFString *editSFServiceAddress (void);
209 const SFString *getSFServiceAddress (void) const;
211 SFString *editSFServiceInterface(void);
212 const SFString *getSFServiceInterface (void) const;
213 const SFUnrecWindowPtr *getSFClientWindow (void) const;
214 SFUnrecWindowPtr *editSFClientWindow (void);
216 SFUInt32 *editSFInterleave (void);
217 const SFUInt32 *getSFInterleave (void) const;
219 SFUInt32 *editSFFrameCount (void);
220 const SFUInt32 *getSFFrameCount (void) const;
221 const SFUnrecImageComposerPtr *getSFComposer (void) const;
222 SFUnrecImageComposerPtr *editSFComposer (void);
224 MFString *editMFAutostart (void);
225 const MFString *getMFAutostart (void) const;
228 MFString ::reference editServers (const UInt32 index);
229 const std::string &getServers (const UInt32 index) const;
231 MFUInt32 ::reference editServerIds (const UInt32 index);
232 UInt32 getServerIds (const UInt32 index) const;
234 std::string &editConnectionType (void);
235 const std::string &getConnectionType (void) const;
237 std::string &editConnectionInterface(void);
238 const std::string &getConnectionInterface (void) const;
240 std::string &editConnectionDestination(void);
241 const std::string &getConnectionDestination (void) const;
243 std::string &editConnectionParams(void);
244 const std::string &getConnectionParams (void) const;
246 UInt32 &editServicePort (void);
247 UInt32 getServicePort (void) const;
249 std::string &editServiceAddress (void);
250 const std::string &getServiceAddress (void) const;
252 std::string &editServiceInterface(void);
253 const std::string &getServiceInterface (void) const;
255 Window * getClientWindow (void) const;
257 UInt32 &editInterleave (void);
258 UInt32 getInterleave (void) const;
260 UInt32 &editFrameCount (void);
261 UInt32 getFrameCount (void) const;
263 ImageComposer * getComposer (void) const;
265 MFString ::reference editAutostart (const UInt32 index);
266 const std::string &getAutostart (const UInt32 index) const;
268 /*! \} */
269 /*---------------------------------------------------------------------*/
270 /*! \name Field Set */
271 /*! \{ */
273 void setConnectionType (const std::string &value);
274 void setConnectionInterface(const std::string &value);
275 void setConnectionDestination(const std::string &value);
276 void setConnectionParams(const std::string &value);
277 void setServicePort (const UInt32 value);
278 void setServiceAddress (const std::string &value);
279 void setServiceInterface(const std::string &value);
280 void setClientWindow (Window * const value);
281 void setInterleave (const UInt32 value);
282 void setFrameCount (const UInt32 value);
283 void setComposer (ImageComposer * const value);
285 /*! \} */
286 /*---------------------------------------------------------------------*/
287 /*! \name Ptr Field Set */
288 /*! \{ */
290 /*! \} */
291 /*---------------------------------------------------------------------*/
292 /*! \name Ptr MField Set */
293 /*! \{ */
295 /*! \} */
296 /*---------------------------------------------------------------------*/
297 /*! \name Binary Access */
298 /*! \{ */
300 virtual SizeT getBinSize (ConstFieldMaskArg whichField);
301 virtual void copyToBin (BinaryDataHandler &pMem,
302 ConstFieldMaskArg whichField);
303 virtual void copyFromBin(BinaryDataHandler &pMem,
304 ConstFieldMaskArg whichField);
307 /*! \} */
308 /*---------------------------------------------------------------------*/
309 /*! \name Construction */
310 /*! \{ */
312 static ClusterWindowTransitPtr create (void);
313 static ClusterWindow *createEmpty (void);
315 static ClusterWindowTransitPtr createLocal (
316 BitVector bFlags = FCLocal::All);
318 static ClusterWindow *createEmptyLocal(
319 BitVector bFlags = FCLocal::All);
321 static ClusterWindowTransitPtr createDependent (BitVector bFlags);
323 /*! \} */
324 /*---------------------------------------------------------------------*/
325 /*! \name Copy */
326 /*! \{ */
328 virtual FieldContainerTransitPtr shallowCopy (void) const;
329 virtual FieldContainerTransitPtr shallowCopyLocal(
330 BitVector bFlags = FCLocal::All) const;
331 virtual FieldContainerTransitPtr shallowCopyDependent(
332 BitVector bFlags) const;
334 /*! \} */
335 /*========================= PROTECTED ===============================*/
337 protected:
339 static TypeObject _type;
341 static void classDescInserter(TypeObject &oType);
342 static const Char8 *getClassname (void );
344 /*---------------------------------------------------------------------*/
345 /*! \name Fields */
346 /*! \{ */
348 MFString _mfServers;
349 MFUInt32 _mfServerIds;
350 SFString _sfConnectionType;
351 SFString _sfConnectionInterface;
352 SFString _sfConnectionDestination;
353 SFString _sfConnectionParams;
354 SFUInt32 _sfServicePort;
355 SFString _sfServiceAddress;
356 SFString _sfServiceInterface;
357 SFUnrecWindowPtr _sfClientWindow;
358 SFUInt32 _sfInterleave;
359 SFUInt32 _sfFrameCount;
360 SFUnrecImageComposerPtr _sfComposer;
361 MFString _mfAutostart;
363 /*! \} */
364 /*---------------------------------------------------------------------*/
365 /*! \name Constructors */
366 /*! \{ */
368 ClusterWindowBase(void);
369 ClusterWindowBase(const ClusterWindowBase &source);
371 /*! \} */
372 /*---------------------------------------------------------------------*/
373 /*! \name Destructors */
374 /*! \{ */
376 virtual ~ClusterWindowBase(void);
378 /*! \} */
379 /*---------------------------------------------------------------------*/
380 /*! \name onCreate */
381 /*! \{ */
383 void onCreate(const ClusterWindow *source = NULL);
385 /*! \} */
386 /*---------------------------------------------------------------------*/
387 /*! \name Generic Field Access */
388 /*! \{ */
390 GetFieldHandlePtr getHandleServers (void) const;
391 EditFieldHandlePtr editHandleServers (void);
392 GetFieldHandlePtr getHandleServerIds (void) const;
393 EditFieldHandlePtr editHandleServerIds (void);
394 GetFieldHandlePtr getHandleConnectionType (void) const;
395 EditFieldHandlePtr editHandleConnectionType (void);
396 GetFieldHandlePtr getHandleConnectionInterface (void) const;
397 EditFieldHandlePtr editHandleConnectionInterface(void);
398 GetFieldHandlePtr getHandleConnectionDestination (void) const;
399 EditFieldHandlePtr editHandleConnectionDestination(void);
400 GetFieldHandlePtr getHandleConnectionParams (void) const;
401 EditFieldHandlePtr editHandleConnectionParams(void);
402 GetFieldHandlePtr getHandleServicePort (void) const;
403 EditFieldHandlePtr editHandleServicePort (void);
404 GetFieldHandlePtr getHandleServiceAddress (void) const;
405 EditFieldHandlePtr editHandleServiceAddress (void);
406 GetFieldHandlePtr getHandleServiceInterface (void) const;
407 EditFieldHandlePtr editHandleServiceInterface(void);
408 GetFieldHandlePtr getHandleClientWindow (void) const;
409 EditFieldHandlePtr editHandleClientWindow (void);
410 GetFieldHandlePtr getHandleInterleave (void) const;
411 EditFieldHandlePtr editHandleInterleave (void);
412 GetFieldHandlePtr getHandleFrameCount (void) const;
413 EditFieldHandlePtr editHandleFrameCount (void);
414 GetFieldHandlePtr getHandleComposer (void) const;
415 EditFieldHandlePtr editHandleComposer (void);
416 GetFieldHandlePtr getHandleAutostart (void) const;
417 EditFieldHandlePtr editHandleAutostart (void);
419 /*! \} */
420 /*---------------------------------------------------------------------*/
421 /*! \name Sync */
422 /*! \{ */
424 #ifdef OSG_MT_CPTR_ASPECT
425 virtual void execSyncV( FieldContainer &oFrom,
426 ConstFieldMaskArg whichField,
427 AspectOffsetStore &oOffsets,
428 ConstFieldMaskArg syncMode ,
429 const UInt32 uiSyncInfo);
431 void execSync ( ClusterWindowBase *pFrom,
432 ConstFieldMaskArg whichField,
433 AspectOffsetStore &oOffsets,
434 ConstFieldMaskArg syncMode ,
435 const UInt32 uiSyncInfo);
436 #endif
438 /*! \} */
439 /*---------------------------------------------------------------------*/
440 /*! \name Edit */
441 /*! \{ */
443 /*! \} */
444 /*---------------------------------------------------------------------*/
445 /*! \name Aspect Create */
446 /*! \{ */
448 #ifdef OSG_MT_CPTR_ASPECT
449 virtual FieldContainer *createAspectCopy(
450 const FieldContainer *pRefAspect) const;
451 #endif
453 /*! \} */
454 /*---------------------------------------------------------------------*/
455 /*! \name Edit */
456 /*! \{ */
457 /*! \} */
458 /*---------------------------------------------------------------------*/
459 /*! \name Sync */
460 /*! \{ */
462 virtual void resolveLinks(void);
464 /*! \} */
465 /*========================== PRIVATE ================================*/
467 private:
468 /*---------------------------------------------------------------------*/
470 // prohibit default functions (move to 'public' if you need one)
471 void operator =(const ClusterWindowBase &source);
474 typedef ClusterWindowBase *ClusterWindowBaseP;
476 OSG_END_NAMESPACE
478 #endif /* _OSGCLUSTERWINDOWBASE_H_ */