HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_clone.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * COMMENTS:
7  */
8 
9 #ifndef __HOM_clone_h__
10 #define __HOM_clone_h__
11 
12 #include "HOM_API.h"
13 #include "HOM_Defines.h"
14 #include "HOM_ElemPtr.h"
15 #include <vector>
16 
17 class HOM_LopNode;
19 
20 SWIGOUT(%rename(clone) HOM_clone;)
21 
23 {
24 public:
25  virtual ~HOM_clone()
26  { }
27 
28  virtual std::string __repr__() = 0;
29 
30  SWIGOUT(%kwargs runAsClone;)
31  virtual void runAsClone(int start_port = 0,
32  int end_port = -1,
33  bool debug = false,
34  bool block = false,
35  bool print_port = false,
36  int connection_timeout_seconds = -1,
37  bool initialize_opengl = true) = 0;
38  virtual bool isRunningAsClone() = 0;
39 
40  SWIGOUT(%kwargs createClone;)
41  SWIGOUT(%newobject createClone;)
42  virtual HOM_clone_Connection *createClone(const char *id = nullptr) = 0;
43 
44  virtual std::vector<HOM_ElemPtr<HOM_clone_Connection> > clones() = 0;
45  SWIGOUT(%newobject clone;)
46  virtual HOM_clone_Connection *clone(const char *id) = 0;
47  virtual void deleteClone(const char *id) = 0;
48  virtual void deleteDisconnectedClones() = 0;
49 
50  SWIGOUT(%ignore addOpaqueConnectionChangeCallback;)
51  virtual void addOpaqueConnectionChangeCallback(void *callback) = 0;
52  SWIGOUT(%ignore removeOpaqueConnectionChangeCallback;)
53  virtual void removeOpaqueConnectionChangeCallback(void *callback) = 0;
54  virtual void removeAllConnectionChangeCallbacks() = 0;
55  SWIGOUT(%ignore opaqueConnectionChangeCallbacks;)
56  virtual std::vector<void *> opaqueConnectionChangeCallbacks() = 0;
57 
58  SWIGOUT(%ignore addOpaqueImageChangeCallback;)
59  virtual void addOpaqueImageChangeCallback(void *callback) = 0;
60  SWIGOUT(%ignore removeOpaqueImageChangeCallback;)
61  virtual void removeOpaqueImageChangeCallback(void *callback) = 0;
62  virtual void removeAllImageChangeCallbacks() = 0;
63  SWIGOUT(%ignore opaqueImageChangeCallbacks;)
64  virtual std::vector<void *> opaqueImageChangeCallbacks() = 0;
65 
66 #ifdef SWIG
67 %extend
68 {
69  void addConnectionChangeCallback(InterpreterObject callback)
70  { self->addOpaqueConnectionChangeCallback(callback); }
71  void removeConnectionChangeCallback(InterpreterObject callback)
72  { self->removeOpaqueConnectionChangeCallback(callback); }
73  // Note that we return a vector of borrowed references because swig
74  // will increment the reference counts.
75  std::vector<InterpreterObject> connectionChangeCallbacks()
76  {
77  std::vector<void *> opaque_callbacks(
78  self->opaqueConnectionChangeCallbacks());
79  std::vector<InterpreterObject> callbacks;
80  for (int i=0; i< opaque_callbacks.size(); ++i)
81  callbacks.push_back((InterpreterObject)opaque_callbacks[i]);
82  return callbacks;
83  }
84 
85  void addImageChangeCallback(InterpreterObject callback)
86  { self->addOpaqueImageChangeCallback(callback); }
87  void removeImageChangeCallback(InterpreterObject callback)
88  { self->removeOpaqueImageChangeCallback(callback); }
89  // Note that we return a vector of borrowed references because swig
90  // will increment the reference counts.
91  std::vector<InterpreterObject> imageChangeCallbacks()
92  {
93  std::vector<void *> opaque_callbacks(
94  self->opaqueImageChangeCallbacks());
95  std::vector<InterpreterObject> callbacks;
96  for (int i=0; i< opaque_callbacks.size(); ++i)
97  callbacks.push_back((InterpreterObject)opaque_callbacks[i]);
98  return callbacks;
99  }
100 }
101 #endif
102 };
103 
104 #endif
#define SWIGOUT(x)
Definition: HOM_Defines.h:24
string __repr__(VtArray< T > const &self)
Definition: wrapArray.h:312
virtual ~HOM_clone()
Definition: HOM_clone.h:25
#define HOM_API
Definition: HOM_API.h:13
void ignore(T const &) VULKAN_HPP_NOEXCEPT
Definition: vulkan.hpp:6508
OIIO_API void debug(string_view str)
OIIO_UTIL_API bool rename(string_view from, string_view to, std::string &err)