theConfig 10.0
Loading...
Searching...
No Matches
cclcconfig::LcSettingDeleteCallbackC Struct Reference

infrastructur to use the cclcconfig specific callbackMore...

#include <LcCall_cc.hh>

+ Collaboration diagram for cclcconfig::LcSettingDeleteCallbackC:

Classes

union  LcSettingDeleteCallbackU
 storage to hold the callback More...
 

Public Types

enum  LcSettingDeleteCallbackE { PC_LcSettingDeleteCB , PC_LcSettingDeleteIF }
 

Static Public Member Functions

static MK_CBP Create (MK_RT mkrt, LcSettingDeleteSCB const callback, LcConfigC *self=NULL)
 
static MK_CBP Create (MK_RT mkrt, LcSettingDeleteIF *callback, LcConfigC *self=NULL)
 
static enum MkErrorE Call (LcSettingDeleteCallF_ARGS)
 
static void Free (LcSettingDeleteFreeF_ARGS)
 

Public Attributes

enum cclcconfig::LcSettingDeleteCallbackC::LcSettingDeleteCallbackE type
 
union cclcconfig::LcSettingDeleteCallbackC::LcSettingDeleteCallbackU call
 
LcConfigCself
 

Detailed Description

infrastructur to use the cclcconfig specific callback

Definition at line 55 of file LcCall_cc.hh.

Member Enumeration Documentation

◆ LcSettingDeleteCallbackE

Enumerator
PC_LcSettingDeleteCB 
PC_LcSettingDeleteIF 

Definition at line 56 of file LcCall_cc.hh.

56 {
59 } type;
enum cclcconfig::LcSettingDeleteCallbackC::LcSettingDeleteCallbackE type

Member Function Documentation

◆ Call()

enum MkErrorE cclcconfig::LcSettingDeleteCallbackC::Call ( LcSettingDeleteCallF_ARGS )
static

Definition at line 83 of file LcCall_cc.cc.

84 {
86
87 auto pdata = static_cast<LcSettingDeleteCallbackC* const> (cfg->fSettingDeleteData);
88 auto hdl = MkObjectHandleGet_1X(cfs);
89
90 try {
91 switch (pdata->type) {
93 (pdata->call.SettingDeleteIF->LcSettingDelete)(hdl);
94 break;
95 default:
96 MkErrorSetC_2M(cfg,"LcSettingDeleteCB: callback-data-type-error");
97 goto error;
98 }
99 } catch (const MkExceptionC& ex) {
100 MkExceptionC::Catch(cfg,ex);
101 goto error;
102 } catch (const exception& ex) {
103 MkExceptionC::Catch(cfg,ex);
104 goto error;
105 } catch (...) {
106 // http://groups.google.com/group/comp.programming.threads/browse_thread/thread/652bcf186fbbf697/f63757846514e5e5
107 throw;
108 }
109
110 // everything is OK
111error:
112 return MkErrorStack_0E_Check();
113 }
#define LcSettingDeleteCallF_CHECK
#define MkErrorStack_0E_Check()
#define MkErrorSetC_2M(err, message)
static MK_ERR Catch(MK_MNGN const expobj, std::exception const *exception, MK_STRN const callfunc=__builtin_FUNCTION())
MkExceptionC(MK_ERR err, MK_STRN const caller, MK_I32 const line)
#define MkObjectHandleGet_1X(x)
+ Here is the caller graph for this function:

◆ Create() [1/2]

static MK_CBP cclcconfig::LcSettingDeleteCallbackC::Create ( MK_RT mkrt,
LcSettingDeleteIF * callback,
LcConfigC * self = NULL )
inlinestatic

Definition at line 83 of file LcCall_cc.hh.

83 {
84 return callback ? new LcSettingDeleteCallbackC(PC_LcSettingDeleteIF,callback,self) : NULL;
85 }

◆ Create() [2/2]

static MK_CBP cclcconfig::LcSettingDeleteCallbackC::Create ( MK_RT mkrt,
LcSettingDeleteSCB const callback,
LcConfigC * self = NULL )
inlinestatic

Definition at line 79 of file LcCall_cc.hh.

79 {
80 return callback ? new LcSettingDeleteCallbackC(PC_LcSettingDeleteCB,callback,self) : NULL;
81 }
+ Here is the caller graph for this function:

◆ Free()

void cclcconfig::LcSettingDeleteCallbackC::Free ( LcSettingDeleteFreeF_ARGS )
static

Definition at line 74 of file LcCall_cc.cc.

75 {
76 delete static_cast<LcSettingDeleteCallbackC*>(cfg->fSettingDeleteData);
77
78 cfg->fSettingDeleteData = NULL;
79 cfg->fSettingDeleteCall = NULL;
80 cfg->fSettingDeleteFree = NULL;
81 }
+ Here is the caller graph for this function:

Member Data Documentation

◆ call

union cclcconfig::LcSettingDeleteCallbackC::LcSettingDeleteCallbackU cclcconfig::LcSettingDeleteCallbackC::call

◆ self

LcConfigC* cclcconfig::LcSettingDeleteCallbackC::self

Definition at line 69 of file LcCall_cc.hh.

◆ type

enum cclcconfig::LcSettingDeleteCallbackC::LcSettingDeleteCallbackE cclcconfig::LcSettingDeleteCallbackC::type

The documentation for this struct was generated from the following files: