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) = 0;
37 
38  SWIGOUT(%kwargs createClone;)
39  SWIGOUT(%newobject createClone;)
40  virtual HOM_clone_Connection *createClone(const char *id = nullptr) = 0;
41 
42  virtual std::vector<HOM_ElemPtr<HOM_clone_Connection> > clones() = 0;
43  SWIGOUT(%newobject clone;)
44  virtual HOM_clone_Connection *clone(const char *id) = 0;
45  virtual void deleteClone(const char *id) = 0;
46  virtual void deleteDisconnectedClones() = 0;
47 
48  SWIGOUT(%ignore addOpaqueConnectionChangeCallback;)
49  virtual void addOpaqueConnectionChangeCallback(void *callback) = 0;
50  SWIGOUT(%ignore removeOpaqueConnectionChangeCallback;)
51  virtual void removeOpaqueConnectionChangeCallback(void *callback) = 0;
52  virtual void removeAllConnectionChangeCallbacks() = 0;
53  SWIGOUT(%ignore opaqueConnectionChangeCallbacks;)
54  virtual std::vector<void *> opaqueConnectionChangeCallbacks() = 0;
55 
56  SWIGOUT(%ignore addOpaqueImageChangeCallback;)
57  virtual void addOpaqueImageChangeCallback(void *callback) = 0;
58  SWIGOUT(%ignore removeOpaqueImageChangeCallback;)
59  virtual void removeOpaqueImageChangeCallback(void *callback) = 0;
60  virtual void removeAllImageChangeCallbacks() = 0;
61  SWIGOUT(%ignore opaqueImageChangeCallbacks;)
62  virtual std::vector<void *> opaqueImageChangeCallbacks() = 0;
63 
64 #ifdef SWIG
65 %extend
66 {
67  void addConnectionChangeCallback(InterpreterObject callback)
68  { self->addOpaqueConnectionChangeCallback(callback); }
69  void removeConnectionChangeCallback(InterpreterObject callback)
70  { self->removeOpaqueConnectionChangeCallback(callback); }
71  // Note that we return a vector of borrowed references because swig
72  // will increment the reference counts.
73  std::vector<InterpreterObject> connectionChangeCallbacks()
74  {
75  std::vector<void *> opaque_callbacks(
76  self->opaqueConnectionChangeCallbacks());
77  std::vector<InterpreterObject> callbacks;
78  for (int i=0; i< opaque_callbacks.size(); ++i)
79  callbacks.push_back((InterpreterObject)opaque_callbacks[i]);
80  return callbacks;
81  }
82 
83  void addImageChangeCallback(InterpreterObject callback)
84  { self->addOpaqueImageChangeCallback(callback); }
85  void removeImageChangeCallback(InterpreterObject callback)
86  { self->removeOpaqueImageChangeCallback(callback); }
87  // Note that we return a vector of borrowed references because swig
88  // will increment the reference counts.
89  std::vector<InterpreterObject> imageChangeCallbacks()
90  {
91  std::vector<void *> opaque_callbacks(
92  self->opaqueImageChangeCallbacks());
93  std::vector<InterpreterObject> callbacks;
94  for (int i=0; i< opaque_callbacks.size(); ++i)
95  callbacks.push_back((InterpreterObject)opaque_callbacks[i]);
96  return callbacks;
97  }
98 }
99 #endif
100 };
101 
102 #endif
GLsizei const GLchar *const * string
Definition: glcorearb.h:814
#define SWIGOUT(x)
Definition: HOM_Defines.h:24
string __repr__(VtArray< T > const &self)
Definition: wrapArray.h:352
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)