RenderManAPI  24.0
RixDspy.h
Go to the documentation of this file.
1 /*
2 # ------------------------------------------------------------------------------
3 #
4 # Copyright (c) 2020 Pixar. All rights reserved.
5 #
6 # The information in this file (the "Software") is provided for the exclusive
7 # use of the software licensees of Pixar ("Licensees"). Licensees have the
8 # right to incorporate the Software into other products for use by other
9 # authorized software licensees of Pixar, without fee. Except as expressly
10 # permitted herein, the Software may not be disclosed to third parties, copied
11 # or duplicated in any form, in whole or in part, without the prior written
12 # permission of Pixar.
13 #
14 # The copyright notices in the Software and this entire statement, including the
15 # above license grant, this restriction and the following disclaimer, must be
16 # included in all copies of the Software, in whole or in part, and all permitted
17 # derivative works of the Software, unless such copies or derivative works are
18 # solely in the form of machine-executable object code generated by a source
19 # language processor.
20 #
21 # PIXAR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
22 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL PIXAR BE
23 # LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
24 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
25 # OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
26 # CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. IN NO CASE WILL
27 # PIXAR'S TOTAL LIABILITY FOR ALL DAMAGES ARISING OUT OF OR IN CONNECTION WITH
28 # THE USE OR PERFORMANCE OF THIS SOFTWARE EXCEED $50.
29 #
30 # Pixar
31 # 1200 Park Ave
32 # Emeryville CA 94608
33 #
34 # ------------------------------------------------------------------------------
35 */
36 
37 #ifndef RixDspyServer_h
38 #define RixDspyServer_h
39 
40 #include "RixInterfaces.h" // for RixInterface
41 #include "ndspy.h"
42 
95 
106 {
109 };
110 
111 
112 //
113 // These are constructed via RixDspy::CreateServer()
115 public:
116 
117  virtual ~RixDspyServer() {};
118 
119  enum State
120  {
124  };
125 
126  virtual State GetState() const = 0;
127 };
128 
129 
130 class RixDspy : public RixInterface
131 {
132 public:
133 
135  typedef void (*ServerListener)(RixDspyServer const& server,
136  void* clientData);
137 
140 
142  virtual RixDspyServer* CreateServer(const char* in, const char* out) = 0;
143 
145  virtual RixDspyServer* CreateServer(const char* in, const char* out,
146  ServerListener listener,
147  void* clientData) = 0;
148 
150  virtual void ProcessCallbacks() = 0;
151 
155  virtual void SetDeliveryMode(RixDeliveryMode mode) = 0;
156 
159 
161  virtual PtDspyError
163  const char* string,
164  char** result,
165  int paramCount,
166  const UserParameter* parameters) = 0;
167 
169  virtual PtDspyError
171  const char* string,
172  int* result,
173  int paramCount,
174  const UserParameter* parameters) = 0;
175 
177  virtual PtDspyError
179  const char* string,
180  int* resultCount,
181  int* result,
182  int paramCount,
183  const UserParameter* parameters) = 0;
184 
186  virtual PtDspyError
188  const char* string,
189  float* result,
190  int paramCount,
191  const UserParameter* parameters) = 0;
192 
194  virtual PtDspyError
196  const char* string,
197  int* resultCount,
198  float* result,
199  int paramCount,
200  const UserParameter* parameters) = 0;
201 
203  virtual PtDspyError
205  const char* name,
206  const PtDspyDriverFunctionTable* pTable) = 0;
207 
208  virtual PtDspyError
210  int formatCount,
211  PtDspyDevFormat* format,
212  int outFormatCount,
213  const PtDspyDevFormat* outFormat) = 0;
214 
216  virtual unsigned int
218 
219 
220 protected:
222  virtual ~RixDspy() {}
223 };
224 
225 #endif
virtual PtDspyError RegisterDriverTable(const char *name, const PtDspyDriverFunctionTable *pTable)=0
Equivalent to DspyRegisterDriverTable.
virtual ~RixDspyServer()
Definition: RixDspy.h:117
Definition: ndspy.h:343
Base class for all Rix interfaces.
Definition: RixInterfaces.h:133
virtual unsigned int ByteCountForType(PtDspyUnsigned32 type)=0
For a given pixel type return how wide in bytes that is.
Definition: RixDspy.h:122
virtual State GetState() const =0
Definition: RixDspy.h:121
Definition: ndspy.h:118
PtDspyError
Definition: ndspy.h:231
Definition: RixDspy.h:123
virtual void SetDeliveryMode(RixDeliveryMode mode)=0
Sets how dspy server messages are processed, if RixQueued then the client also needs to call our Proc...
virtual PtDspyError FindFloatsInParamList(const char *string, int *resultCount, float *result, int paramCount, const UserParameter *parameters)=0
Equivalent to DspyFindFloatsInParamList.
virtual PtDspyError FindFloatInParamList(const char *string, float *result, int paramCount, const UserParameter *parameters)=0
Equivalent to DspyFindFloatInParamList.
virtual void ProcessCallbacks()=0
Process outstanding callback requests (display, exception)
Definition: RixDspy.h:108
virtual PtDspyError FindIntsInParamList(const char *string, int *resultCount, int *result, int paramCount, const UserParameter *parameters)=0
Equivalent to DspyFindIntsInParamList.
RixDeliveryMode
The RixDspy interface provides access to dspy components accessible through librix rather than libprm...
Definition: RixDspy.h:105
Definition: RixDspy.h:130
void(* ServerListener)(RixDspyServer const &server, void *clientData)
Callback type.
Definition: RixDspy.h:135
virtual PtDspyError FindIntInParamList(const char *string, int *result, int paramCount, const UserParameter *parameters)=0
Equivalent to DspyFindIntInParamList.
Definition: RixDspy.h:107
Definition: RixDspy.h:114
virtual ~RixDspy()
Definition: RixDspy.h:222
Definition: ndspy.h:395
virtual PtDspyError FindStringInParamList(const char *string, char **result, int paramCount, const UserParameter *parameters)=0
RixDspy methods --------------------------------------------------——.
unsigned int PtDspyUnsigned32
Definition: ndspy.h:79
State
Definition: RixDspy.h:119
virtual PtDspyError ReorderFormatting(int formatCount, PtDspyDevFormat *format, int outFormatCount, const PtDspyDevFormat *outFormat)=0
RixDspy()
Definition: RixDspy.h:221
virtual RixDspyServer * CreateServer(const char *in, const char *out)=0
RixDspyServer methods --------------------------------------------——.