1 #define NVOC_RS_SERVER_H_PRIVATE_ACCESS_ALLOWED
2 #include "nvoc/runtime.h"
3 #include "nvoc/rtti.h"
4 #include "nvtypes.h"
5 #include "nvport/nvport.h"
6 #include "nvport/inline/util_valist.h"
7 #include "utils/nvassert.h"
8 #include "g_rs_server_nvoc.h"
9 
10 #ifdef DEBUG
11 char __nvoc_class_id_uniqueness_check_0x830542 = 1;
12 #endif
13 
14 extern const struct NVOC_CLASS_DEF __nvoc_class_def_RsShared;
15 
16 extern const struct NVOC_CLASS_DEF __nvoc_class_def_Object;
17 
18 void __nvoc_init_RsShared(RsShared*);
19 void __nvoc_init_funcTable_RsShared(RsShared*);
20 NV_STATUS __nvoc_ctor_RsShared(RsShared*);
21 void __nvoc_init_dataField_RsShared(RsShared*);
22 void __nvoc_dtor_RsShared(RsShared*);
23 extern const struct NVOC_EXPORT_INFO __nvoc_export_info_RsShared;
24 
25 static const struct NVOC_RTTI __nvoc_rtti_RsShared_RsShared = {
26     /*pClassDef=*/          &__nvoc_class_def_RsShared,
27     /*dtor=*/               (NVOC_DYNAMIC_DTOR) &__nvoc_dtor_RsShared,
28     /*offset=*/             0,
29 };
30 
31 static const struct NVOC_RTTI __nvoc_rtti_RsShared_Object = {
32     /*pClassDef=*/          &__nvoc_class_def_Object,
33     /*dtor=*/               &__nvoc_destructFromBase,
34     /*offset=*/             NV_OFFSETOF(RsShared, __nvoc_base_Object),
35 };
36 
37 static const struct NVOC_CASTINFO __nvoc_castinfo_RsShared = {
38     /*numRelatives=*/       2,
39     /*relatives=*/ {
40         &__nvoc_rtti_RsShared_RsShared,
41         &__nvoc_rtti_RsShared_Object,
42     },
43 };
44 
45 const struct NVOC_CLASS_DEF __nvoc_class_def_RsShared =
46 {
47     /*classInfo=*/ {
48         /*size=*/               sizeof(RsShared),
49         /*classId=*/            classId(RsShared),
50         /*providerId=*/         &__nvoc_rtti_provider,
51 #if NV_PRINTF_STRINGS_ALLOWED
52         /*name=*/               "RsShared",
53 #endif
54     },
55     /*objCreatefn=*/        (NVOC_DYNAMIC_OBJ_CREATE) &__nvoc_objCreateDynamic_RsShared,
56     /*pCastInfo=*/          &__nvoc_castinfo_RsShared,
57     /*pExportInfo=*/        &__nvoc_export_info_RsShared
58 };
59 
60 const struct NVOC_EXPORT_INFO __nvoc_export_info_RsShared =
61 {
62     /*numEntries=*/     0,
63     /*pExportEntries=*/  0
64 };
65 
66 void __nvoc_dtor_Object(Object*);
__nvoc_dtor_RsShared(RsShared * pThis)67 void __nvoc_dtor_RsShared(RsShared *pThis) {
68     __nvoc_shrDestruct(pThis);
69     __nvoc_dtor_Object(&pThis->__nvoc_base_Object);
70     PORT_UNREFERENCED_VARIABLE(pThis);
71 }
72 
__nvoc_init_dataField_RsShared(RsShared * pThis)73 void __nvoc_init_dataField_RsShared(RsShared *pThis) {
74     PORT_UNREFERENCED_VARIABLE(pThis);
75 }
76 
77 NV_STATUS __nvoc_ctor_Object(Object* );
__nvoc_ctor_RsShared(RsShared * pThis)78 NV_STATUS __nvoc_ctor_RsShared(RsShared *pThis) {
79     NV_STATUS status = NV_OK;
80     status = __nvoc_ctor_Object(&pThis->__nvoc_base_Object);
81     if (status != NV_OK) goto __nvoc_ctor_RsShared_fail_Object;
82     __nvoc_init_dataField_RsShared(pThis);
83 
84     status = __nvoc_shrConstruct(pThis);
85     if (status != NV_OK) goto __nvoc_ctor_RsShared_fail__init;
86     goto __nvoc_ctor_RsShared_exit; // Success
87 
88 __nvoc_ctor_RsShared_fail__init:
89     __nvoc_dtor_Object(&pThis->__nvoc_base_Object);
90 __nvoc_ctor_RsShared_fail_Object:
91 __nvoc_ctor_RsShared_exit:
92 
93     return status;
94 }
95 
96 // Vtable initialization
__nvoc_init_funcTable_RsShared_1(RsShared * pThis)97 static void __nvoc_init_funcTable_RsShared_1(RsShared *pThis) {
98     PORT_UNREFERENCED_VARIABLE(pThis);
99 } // End __nvoc_init_funcTable_RsShared_1
100 
101 
102 // Initialize vtable(s): Nothing to do for empty vtables
__nvoc_init_funcTable_RsShared(RsShared * pThis)103 void __nvoc_init_funcTable_RsShared(RsShared *pThis) {
104     __nvoc_init_funcTable_RsShared_1(pThis);
105 }
106 
107 void __nvoc_init_Object(Object*);
__nvoc_init_RsShared(RsShared * pThis)108 void __nvoc_init_RsShared(RsShared *pThis) {
109     pThis->__nvoc_pbase_RsShared = pThis;
110     pThis->__nvoc_pbase_Object = &pThis->__nvoc_base_Object;
111     __nvoc_init_Object(&pThis->__nvoc_base_Object);
112     __nvoc_init_funcTable_RsShared(pThis);
113 }
114 
__nvoc_objCreate_RsShared(RsShared ** ppThis,Dynamic * pParent,NvU32 createFlags)115 NV_STATUS __nvoc_objCreate_RsShared(RsShared **ppThis, Dynamic *pParent, NvU32 createFlags)
116 {
117     NV_STATUS status;
118     Object *pParentObj = NULL;
119     RsShared *pThis;
120 
121     // Assign `pThis`, allocating memory unless suppressed by flag.
122     status = __nvoc_handleObjCreateMemAlloc(createFlags, sizeof(RsShared), (void**)&pThis, (void**)ppThis);
123     if (status != NV_OK)
124         return status;
125 
126     // Zero is the initial value for everything.
127     portMemSet(pThis, 0, sizeof(RsShared));
128 
129     // Initialize runtime type information.
130     __nvoc_initRtti(staticCast(pThis, Dynamic), &__nvoc_class_def_RsShared);
131 
132     pThis->__nvoc_base_Object.createFlags = createFlags;
133 
134     // Link the child into the parent if there is one unless flagged not to do so.
135     if (pParent != NULL && !(createFlags & NVOC_OBJ_CREATE_FLAGS_PARENT_HALSPEC_ONLY))
136     {
137         pParentObj = dynamicCast(pParent, Object);
138         objAddChild(pParentObj, &pThis->__nvoc_base_Object);
139     }
140     else
141     {
142         pThis->__nvoc_base_Object.pParent = NULL;
143     }
144 
145     __nvoc_init_RsShared(pThis);
146     status = __nvoc_ctor_RsShared(pThis);
147     if (status != NV_OK) goto __nvoc_objCreate_RsShared_cleanup;
148 
149     // Assignment has no effect if NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT is set.
150     *ppThis = pThis;
151 
152     return NV_OK;
153 
154 __nvoc_objCreate_RsShared_cleanup:
155 
156     // Unlink the child from the parent if it was linked above.
157     if (pParentObj != NULL)
158         objRemoveChild(pParentObj, &pThis->__nvoc_base_Object);
159 
160     // Do not call destructors here since the constructor already called them.
161     if (createFlags & NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT)
162         portMemSet(pThis, 0, sizeof(RsShared));
163     else
164     {
165         portMemFree(pThis);
166         *ppThis = NULL;
167     }
168 
169     // coverity[leaked_storage:FALSE]
170     return status;
171 }
172 
__nvoc_objCreateDynamic_RsShared(RsShared ** ppThis,Dynamic * pParent,NvU32 createFlags,va_list args)173 NV_STATUS __nvoc_objCreateDynamic_RsShared(RsShared **ppThis, Dynamic *pParent, NvU32 createFlags, va_list args) {
174     NV_STATUS status;
175 
176     status = __nvoc_objCreate_RsShared(ppThis, pParent, createFlags);
177 
178     return status;
179 }
180 
181 #ifdef DEBUG
182 char __nvoc_class_id_uniqueness_check_0x830d90 = 1;
183 #endif
184 
185 extern const struct NVOC_CLASS_DEF __nvoc_class_def_RsSession;
186 
187 extern const struct NVOC_CLASS_DEF __nvoc_class_def_Object;
188 
189 extern const struct NVOC_CLASS_DEF __nvoc_class_def_RsShared;
190 
191 void __nvoc_init_RsSession(RsSession*);
192 void __nvoc_init_funcTable_RsSession(RsSession*);
193 NV_STATUS __nvoc_ctor_RsSession(RsSession*);
194 void __nvoc_init_dataField_RsSession(RsSession*);
195 void __nvoc_dtor_RsSession(RsSession*);
196 extern const struct NVOC_EXPORT_INFO __nvoc_export_info_RsSession;
197 
198 static const struct NVOC_RTTI __nvoc_rtti_RsSession_RsSession = {
199     /*pClassDef=*/          &__nvoc_class_def_RsSession,
200     /*dtor=*/               (NVOC_DYNAMIC_DTOR) &__nvoc_dtor_RsSession,
201     /*offset=*/             0,
202 };
203 
204 static const struct NVOC_RTTI __nvoc_rtti_RsSession_Object = {
205     /*pClassDef=*/          &__nvoc_class_def_Object,
206     /*dtor=*/               &__nvoc_destructFromBase,
207     /*offset=*/             NV_OFFSETOF(RsSession, __nvoc_base_RsShared.__nvoc_base_Object),
208 };
209 
210 static const struct NVOC_RTTI __nvoc_rtti_RsSession_RsShared = {
211     /*pClassDef=*/          &__nvoc_class_def_RsShared,
212     /*dtor=*/               &__nvoc_destructFromBase,
213     /*offset=*/             NV_OFFSETOF(RsSession, __nvoc_base_RsShared),
214 };
215 
216 static const struct NVOC_CASTINFO __nvoc_castinfo_RsSession = {
217     /*numRelatives=*/       3,
218     /*relatives=*/ {
219         &__nvoc_rtti_RsSession_RsSession,
220         &__nvoc_rtti_RsSession_RsShared,
221         &__nvoc_rtti_RsSession_Object,
222     },
223 };
224 
225 const struct NVOC_CLASS_DEF __nvoc_class_def_RsSession =
226 {
227     /*classInfo=*/ {
228         /*size=*/               sizeof(RsSession),
229         /*classId=*/            classId(RsSession),
230         /*providerId=*/         &__nvoc_rtti_provider,
231 #if NV_PRINTF_STRINGS_ALLOWED
232         /*name=*/               "RsSession",
233 #endif
234     },
235     /*objCreatefn=*/        (NVOC_DYNAMIC_OBJ_CREATE) &__nvoc_objCreateDynamic_RsSession,
236     /*pCastInfo=*/          &__nvoc_castinfo_RsSession,
237     /*pExportInfo=*/        &__nvoc_export_info_RsSession
238 };
239 
240 const struct NVOC_EXPORT_INFO __nvoc_export_info_RsSession =
241 {
242     /*numEntries=*/     0,
243     /*pExportEntries=*/  0
244 };
245 
246 void __nvoc_dtor_RsShared(RsShared*);
__nvoc_dtor_RsSession(RsSession * pThis)247 void __nvoc_dtor_RsSession(RsSession *pThis) {
248     __nvoc_sessionDestruct(pThis);
249     __nvoc_dtor_RsShared(&pThis->__nvoc_base_RsShared);
250     PORT_UNREFERENCED_VARIABLE(pThis);
251 }
252 
__nvoc_init_dataField_RsSession(RsSession * pThis)253 void __nvoc_init_dataField_RsSession(RsSession *pThis) {
254     PORT_UNREFERENCED_VARIABLE(pThis);
255 }
256 
257 NV_STATUS __nvoc_ctor_RsShared(RsShared* );
__nvoc_ctor_RsSession(RsSession * pThis)258 NV_STATUS __nvoc_ctor_RsSession(RsSession *pThis) {
259     NV_STATUS status = NV_OK;
260     status = __nvoc_ctor_RsShared(&pThis->__nvoc_base_RsShared);
261     if (status != NV_OK) goto __nvoc_ctor_RsSession_fail_RsShared;
262     __nvoc_init_dataField_RsSession(pThis);
263 
264     status = __nvoc_sessionConstruct(pThis);
265     if (status != NV_OK) goto __nvoc_ctor_RsSession_fail__init;
266     goto __nvoc_ctor_RsSession_exit; // Success
267 
268 __nvoc_ctor_RsSession_fail__init:
269     __nvoc_dtor_RsShared(&pThis->__nvoc_base_RsShared);
270 __nvoc_ctor_RsSession_fail_RsShared:
271 __nvoc_ctor_RsSession_exit:
272 
273     return status;
274 }
275 
276 // Vtable initialization
__nvoc_init_funcTable_RsSession_1(RsSession * pThis)277 static void __nvoc_init_funcTable_RsSession_1(RsSession *pThis) {
278     PORT_UNREFERENCED_VARIABLE(pThis);
279 
280     // sessionRemoveDependant -- virtual
281     pThis->__sessionRemoveDependant__ = &sessionRemoveDependant_IMPL;
282 
283     // sessionRemoveDependency -- virtual
284     pThis->__sessionRemoveDependency__ = &sessionRemoveDependency_IMPL;
285 } // End __nvoc_init_funcTable_RsSession_1 with approximately 2 basic block(s).
286 
287 
288 // Initialize vtable(s) for 2 virtual method(s).
__nvoc_init_funcTable_RsSession(RsSession * pThis)289 void __nvoc_init_funcTable_RsSession(RsSession *pThis) {
290 
291     // Initialize vtable(s) with 2 per-object function pointer(s).
292     __nvoc_init_funcTable_RsSession_1(pThis);
293 }
294 
295 void __nvoc_init_RsShared(RsShared*);
__nvoc_init_RsSession(RsSession * pThis)296 void __nvoc_init_RsSession(RsSession *pThis) {
297     pThis->__nvoc_pbase_RsSession = pThis;
298     pThis->__nvoc_pbase_Object = &pThis->__nvoc_base_RsShared.__nvoc_base_Object;
299     pThis->__nvoc_pbase_RsShared = &pThis->__nvoc_base_RsShared;
300     __nvoc_init_RsShared(&pThis->__nvoc_base_RsShared);
301     __nvoc_init_funcTable_RsSession(pThis);
302 }
303 
__nvoc_objCreate_RsSession(RsSession ** ppThis,Dynamic * pParent,NvU32 createFlags)304 NV_STATUS __nvoc_objCreate_RsSession(RsSession **ppThis, Dynamic *pParent, NvU32 createFlags)
305 {
306     NV_STATUS status;
307     Object *pParentObj = NULL;
308     RsSession *pThis;
309 
310     // Assign `pThis`, allocating memory unless suppressed by flag.
311     status = __nvoc_handleObjCreateMemAlloc(createFlags, sizeof(RsSession), (void**)&pThis, (void**)ppThis);
312     if (status != NV_OK)
313         return status;
314 
315     // Zero is the initial value for everything.
316     portMemSet(pThis, 0, sizeof(RsSession));
317 
318     // Initialize runtime type information.
319     __nvoc_initRtti(staticCast(pThis, Dynamic), &__nvoc_class_def_RsSession);
320 
321     pThis->__nvoc_base_RsShared.__nvoc_base_Object.createFlags = createFlags;
322 
323     // Link the child into the parent if there is one unless flagged not to do so.
324     if (pParent != NULL && !(createFlags & NVOC_OBJ_CREATE_FLAGS_PARENT_HALSPEC_ONLY))
325     {
326         pParentObj = dynamicCast(pParent, Object);
327         objAddChild(pParentObj, &pThis->__nvoc_base_RsShared.__nvoc_base_Object);
328     }
329     else
330     {
331         pThis->__nvoc_base_RsShared.__nvoc_base_Object.pParent = NULL;
332     }
333 
334     __nvoc_init_RsSession(pThis);
335     status = __nvoc_ctor_RsSession(pThis);
336     if (status != NV_OK) goto __nvoc_objCreate_RsSession_cleanup;
337 
338     // Assignment has no effect if NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT is set.
339     *ppThis = pThis;
340 
341     return NV_OK;
342 
343 __nvoc_objCreate_RsSession_cleanup:
344 
345     // Unlink the child from the parent if it was linked above.
346     if (pParentObj != NULL)
347         objRemoveChild(pParentObj, &pThis->__nvoc_base_RsShared.__nvoc_base_Object);
348 
349     // Do not call destructors here since the constructor already called them.
350     if (createFlags & NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT)
351         portMemSet(pThis, 0, sizeof(RsSession));
352     else
353     {
354         portMemFree(pThis);
355         *ppThis = NULL;
356     }
357 
358     // coverity[leaked_storage:FALSE]
359     return status;
360 }
361 
__nvoc_objCreateDynamic_RsSession(RsSession ** ppThis,Dynamic * pParent,NvU32 createFlags,va_list args)362 NV_STATUS __nvoc_objCreateDynamic_RsSession(RsSession **ppThis, Dynamic *pParent, NvU32 createFlags, va_list args) {
363     NV_STATUS status;
364 
365     status = __nvoc_objCreate_RsSession(ppThis, pParent, createFlags);
366 
367     return status;
368 }
369 
370