~ubuntu-branches/ubuntu/trusty/opendrim-lmp-ssh/trusty

« back to all changes in this revision

Viewing changes to OpenDRIM_SSHServiceAccessBySAP/OpenDRIM_SSHServiceAccessBySAPProvider.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Guillaume BOTTEX
  • Date: 2010-07-07 11:04:10 UTC
  • Revision ID: james.westby@ubuntu.com-20100707110410-2bojrtqjp582wiy8
Tags: upstream-1.0.0
ImportĀ upstreamĀ versionĀ 1.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*###############################################################################
 
2
# Linux Management Providers (LMP), SSH provider package
 
3
# Copyright (C) 2010 Feng Zhanlei, REDFLAG <fengzhanlei@redflag-linux.com>
 
4
 
5
# This program is being developed under the "OpenDRIM" project.
 
6
# The "OpenDRIM" project web page: http://opendrim.sourceforge.net
 
7
# The "OpenDRIM" project mailing list: opendrim@googlegroups.com
 
8
 
9
# This program is free software; you can redistribute it and/or
 
10
# modify it under the terms of the GNU General Public License
 
11
# as published by the Free Software Foundation; version 2
 
12
# of the License.
 
13
 
14
# This program is distributed in the hope that it will be useful,
 
15
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 
16
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
17
# GNU General Public License for more details.
 
18
 
19
# You should have received a copy of the GNU General Public License
 
20
# along with this program; if not, write to the Free Software
 
21
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 
22
#################################################################################
 
23
 
 
24
#################################################################################
 
25
# To contributors, please leave your contact information in this section
 
26
# AND comment your changes in the source code.
 
27
 
28
# Modified by Guillaume BOTTEX <guillaumebottex@uxsystem.net>, UXSystem, 2010
 
29
###############################################################################*/
 
30
 
 
31
#include "cmpiOpenDRIM_SSHServiceAccessBySAP.h"
 
32
#include "OpenDRIM_SSHServiceAccessBySAPAccess.h"
 
33
 
 
34
static const CMPIBroker * _broker;
 
35
 
 
36
#ifdef CMPI_VER_100
 
37
#define SSH_OpenDRIM_SSHServiceAccessBySAPProviderSetInstance SSH_OpenDRIM_SSHServiceAccessBySAPProviderModifyInstance
 
38
#endif
 
39
 
 
40
int SSH_OpenDRIM_SSHServiceAccessBySAP_init(const CMPIBroker* broker);
 
41
 
 
42
int SSH_OpenDRIM_SSHServiceAccessBySAP_finalize();
 
43
 
 
44
/* ---------------------------------------------------------------------------*/
 
45
/*                      Instance Provider Interface                           */
 
46
/* ---------------------------------------------------------------------------*/
 
47
 
 
48
CMPIStatus SSH_OpenDRIM_SSHServiceAccessBySAPProviderCleanup(CMPIInstanceMI * mi, const CMPIContext* ctx, CMPIBoolean terminate) {
 
49
        _E_;
 
50
        int errorCode = SSH_OpenDRIM_SSHServiceAccessBySAP_finalize();
 
51
        CMPIStatus rc;
 
52
        CMSetStatus(&rc, (CMPIrc) errorCode);
 
53
        _L_;
 
54
        return rc;
 
55
}
 
56
 
 
57
CMPIStatus SSH_OpenDRIM_SSHServiceAccessBySAPProviderEnumInstanceNames(CMPIInstanceMI* mi, const CMPIContext* ctx, const CMPIResult* rslt, const CMPIObjectPath* ref) {
 
58
        _E_;
 
59
        CMPIStatus rc = {CMPI_RC_OK, NULL};
 
60
        vector<OpenDRIM_SSHServiceAccessBySAP> instances;
 
61
        string errorMessage;
 
62
        
 
63
        int errorCode = SSH_OpenDRIM_SSHServiceAccessBySAP_retrieve(_broker, ctx, instances, NULL, errorMessage, "ein");
 
64
        if (errorCode != OK) {
 
65
                errorMessage = (string) OpenDRIM_SSHServiceAccessBySAP_classnames[0] + ": " + errorMessage;
 
66
                CMSetStatusWithChars(_broker, &rc, (CMPIrc) errorCode, errorMessage.c_str());
 
67
                return rc;
 
68
        }
 
69
        for (size_t i=0; i < instances.size(); i++) {
 
70
                CMPIObjectPath* op = SSH_OpenDRIM_SSHServiceAccessBySAP_toCMPIObjectPath(_broker, instances[i]);
 
71
                CMReturnObjectPath(rslt, op);
 
72
        }
 
73
        CMReturnDone(rslt);
 
74
        _L_;
 
75
        return rc;
 
76
}
 
77
 
 
78
CMPIStatus SSH_OpenDRIM_SSHServiceAccessBySAPProviderEnumInstances(CMPIInstanceMI* mi, const CMPIContext* ctx, const CMPIResult* rslt, const CMPIObjectPath* ref, const char** properties) {
 
79
        _E_;
 
80
        CMPIStatus rc = {CMPI_RC_OK, NULL};
 
81
        vector<OpenDRIM_SSHServiceAccessBySAP> instances;
 
82
        string errorMessage;
 
83
        
 
84
        int errorCode = SSH_OpenDRIM_SSHServiceAccessBySAP_retrieve(_broker, ctx, instances, properties, errorMessage, "ei");
 
85
        if (errorCode != OK) {
 
86
                errorMessage = (string) OpenDRIM_SSHServiceAccessBySAP_classnames[0] + ": " + errorMessage;
 
87
                CMSetStatusWithChars(_broker, &rc, (CMPIrc) errorCode, errorMessage.c_str());
 
88
                return rc;
 
89
        }
 
90
        for (size_t i=0; i < instances.size(); i++) {
 
91
                CMPIInstance* ci = SSH_OpenDRIM_SSHServiceAccessBySAP_toCMPIInstance(_broker, instances[i]);
 
92
                CMReturnInstance(rslt, ci);
 
93
        }
 
94
        CMReturnDone(rslt);
 
95
        _L_;
 
96
        return rc;
 
97
}
 
98
 
 
99
CMPIStatus SSH_OpenDRIM_SSHServiceAccessBySAPProviderGetInstance(CMPIInstanceMI* mi, const CMPIContext* ctx, const CMPIResult* rslt, const CMPIObjectPath* cop, const char** properties) {
 
100
        _E_;
 
101
        CMPIStatus rc = {CMPI_RC_OK, NULL};
 
102
        OpenDRIM_SSHServiceAccessBySAP instance;
 
103
        SSH_OpenDRIM_SSHServiceAccessBySAP_toCPP(_broker, cop, instance);
 
104
        string errorMessage;
 
105
        
 
106
        int errorCode = SSH_OpenDRIM_SSHServiceAccessBySAP_getInstance(_broker, ctx, instance, properties, errorMessage);
 
107
        if (errorCode != OK) {
 
108
                errorMessage = (string) OpenDRIM_SSHServiceAccessBySAP_classnames[0] + ": " + errorMessage;
 
109
                CMSetStatusWithChars(_broker, &rc, (CMPIrc) errorCode, errorMessage.c_str());
 
110
                return rc;
 
111
        }
 
112
        CMPIInstance* ci = SSH_OpenDRIM_SSHServiceAccessBySAP_toCMPIInstance(_broker, instance);
 
113
        CMReturnInstance(rslt, ci);
 
114
        CMReturnDone(rslt);
 
115
        _L_;
 
116
        return rc;
 
117
}
 
118
 
 
119
CMPIStatus SSH_OpenDRIM_SSHServiceAccessBySAPProviderSetInstance(CMPIInstanceMI* mi, const CMPIContext* ctx, const CMPIResult* rslt, const CMPIObjectPath* cop, const CMPIInstance* ci, const char** properties) {
 
120
        _E_;
 
121
        CMPIStatus rc = {CMPI_RC_OK, NULL};
 
122
        OpenDRIM_SSHServiceAccessBySAP newInstance, oldInstance;
 
123
        SSH_OpenDRIM_SSHServiceAccessBySAP_toCPP(_broker, ci, newInstance);
 
124
        SSH_OpenDRIM_SSHServiceAccessBySAP_toCPP(_broker, cop, oldInstance);
 
125
        string errorMessage;
 
126
        
 
127
        int errorCode = SSH_OpenDRIM_SSHServiceAccessBySAP_getInstance(_broker, ctx, oldInstance, properties, errorMessage);
 
128
        if (errorCode != OK) {
 
129
                errorMessage = (string) OpenDRIM_SSHServiceAccessBySAP_classnames[0] + ": " + errorMessage;
 
130
                CMSetStatusWithChars(_broker, &rc, (CMPIrc) errorCode, errorMessage.c_str());
 
131
                return rc;
 
132
        }
 
133
        errorCode = SSH_OpenDRIM_SSHServiceAccessBySAP_setInstance(_broker, ctx, newInstance, oldInstance, properties, errorMessage);
 
134
        if (errorCode != OK) {
 
135
                errorMessage = (string) OpenDRIM_SSHServiceAccessBySAP_classnames[0] + ": " + errorMessage;
 
136
                CMSetStatusWithChars(_broker, &rc, (CMPIrc) errorCode, errorMessage.c_str());
 
137
                return rc;
 
138
        }
 
139
        CMReturnDone(rslt);
 
140
        _L_;
 
141
        return rc;
 
142
}
 
143
 
 
144
CMPIStatus SSH_OpenDRIM_SSHServiceAccessBySAPProviderCreateInstance(CMPIInstanceMI* mi, const CMPIContext* ctx, const CMPIResult* rslt, const CMPIObjectPath* cop, const CMPIInstance* ci) {
 
145
        _E_;
 
146
        CMPIStatus rc = {CMPI_RC_OK, NULL};
 
147
        OpenDRIM_SSHServiceAccessBySAP instance;
 
148
        SSH_OpenDRIM_SSHServiceAccessBySAP_toCPP(_broker, ci, instance);
 
149
        string errorMessage;
 
150
        
 
151
        int errorCode = SSH_OpenDRIM_SSHServiceAccessBySAP_getInstance(_broker, ctx, instance, NULL, errorMessage);
 
152
        if (errorCode != NOT_FOUND) {
 
153
                if (errorCode == OK)
 
154
                        errorCode = ALREADY_EXISTS;
 
155
                errorMessage = (string) OpenDRIM_SSHServiceAccessBySAP_classnames[0] + ": " + errorMessage;
 
156
                CMSetStatusWithChars(_broker, &rc, (CMPIrc) errorCode, errorMessage.c_str());
 
157
                return rc;
 
158
        }
 
159
        errorCode = SSH_OpenDRIM_SSHServiceAccessBySAP_createInstance(_broker, ctx, instance, errorMessage);
 
160
        if (errorCode != OK) {
 
161
                errorMessage = (string) OpenDRIM_SSHServiceAccessBySAP_classnames[0] + ": " + errorMessage;
 
162
                CMSetStatusWithChars(_broker, &rc, (CMPIrc) errorCode, errorMessage.c_str());
 
163
                return rc;
 
164
        }
 
165
        errorCode = SSH_OpenDRIM_SSHServiceAccessBySAP_getInstance(_broker, ctx, instance, NULL, errorMessage);
 
166
        if (errorCode != OK) {
 
167
                errorMessage = (string) OpenDRIM_SSHServiceAccessBySAP_classnames[0] + ": " + errorMessage;
 
168
                CMSetStatusWithChars(_broker, &rc, (CMPIrc) errorCode, errorMessage.c_str());
 
169
                return rc;
 
170
        }
 
171
        CMPIObjectPath* _cop = SSH_OpenDRIM_SSHServiceAccessBySAP_toCMPIObjectPath(_broker, instance);
 
172
        CMReturnObjectPath(rslt, _cop);
 
173
        CMReturnDone(rslt);
 
174
        _L_;
 
175
        return rc;
 
176
}
 
177
 
 
178
CMPIStatus SSH_OpenDRIM_SSHServiceAccessBySAPProviderDeleteInstance(CMPIInstanceMI* mi, const CMPIContext* ctx, const CMPIResult* rslt, const CMPIObjectPath* cop) {
 
179
        _E_;
 
180
        CMPIStatus rc = {CMPI_RC_OK, NULL};
 
181
        OpenDRIM_SSHServiceAccessBySAP instance;
 
182
        SSH_OpenDRIM_SSHServiceAccessBySAP_toCPP(_broker, cop, instance);
 
183
        string errorMessage;
 
184
        
 
185
        int errorCode = SSH_OpenDRIM_SSHServiceAccessBySAP_getInstance(_broker, ctx, instance, NULL, errorMessage);
 
186
        if (errorCode != OK) {
 
187
                errorMessage = (string) OpenDRIM_SSHServiceAccessBySAP_classnames[0] + ": " + errorMessage;
 
188
                CMSetStatusWithChars(_broker, &rc, (CMPIrc) errorCode, errorMessage.c_str());
 
189
                return rc;
 
190
        }
 
191
        errorCode = SSH_OpenDRIM_SSHServiceAccessBySAP_deleteInstance(_broker, ctx, instance, errorMessage);
 
192
        if (errorCode != OK) {
 
193
                errorMessage = (string) OpenDRIM_SSHServiceAccessBySAP_classnames[0] + ": " + errorMessage;
 
194
                CMSetStatusWithChars(_broker, &rc, (CMPIrc) errorCode, errorMessage.c_str());
 
195
                return rc;
 
196
        }
 
197
        CMReturnDone(rslt);
 
198
        _L_;
 
199
        return rc;
 
200
}
 
201
 
 
202
CMPIStatus SSH_OpenDRIM_SSHServiceAccessBySAPProviderExecQuery(CMPIInstanceMI* mi, const CMPIContext* ctx, const CMPIResult* rslt, const CMPIObjectPath* ref, const char* lang, const char* query) {
 
203
        _E_;
 
204
        CMReturn(CMPI_RC_ERR_NOT_SUPPORTED);
 
205
}
 
206
 
 
207
/* ---------------------------------------------------------------------------*/
 
208
/*                   End of Instance Provider Interface                       */
 
209
/* ---------------------------------------------------------------------------*/
 
210
 
 
211
/* ---------------------------------------------------------------------------*/
 
212
/*                     Association Provider Interface                         */
 
213
/* ---------------------------------------------------------------------------*/
 
214
 
 
215
CMPIStatus SSH_OpenDRIM_SSHServiceAccessBySAPProviderAssociationCleanup(CMPIAssociationMI * mi, const CMPIContext* ctx, CMPIBoolean terminate) {
 
216
        _E_;
 
217
        int errorCode = SSH_OpenDRIM_SSHServiceAccessBySAP_finalize();
 
218
        CMPIStatus rc;
 
219
        CMSetStatus(&rc, (CMPIrc) errorCode);
 
220
        _L_;
 
221
        return rc;
 
222
}
 
223
 
 
224
CMPIStatus SSH_OpenDRIM_SSHServiceAccessBySAPProviderAssociatorNames(CMPIAssociationMI* mi, const CMPIContext* ctx, const CMPIResult* rslt, const CMPIObjectPath* cop, const char* assocClass, const char* resultClass, const char* role, const char* resultRole) {
 
225
        _E_;
 
226
        CMPIStatus rc = {CMPI_RC_OK, NULL};
 
227
        
 
228
        string errorMessage;
 
229
        bool leftToRight;
 
230
        vector<Instance> associatedInstances;
 
231
        Instance known;
 
232
        int errorCode = SSH_OpenDRIM_SSHServiceAccessBySAP_associator(_broker, ctx, cop, known, assocClass, resultClass, role, resultRole, NULL, associatedInstances, leftToRight, errorMessage, "an");
 
233
        if (errorCode != OK) {
 
234
                errorMessage = (string) OpenDRIM_SSHServiceAccessBySAP_classnames[0] + ": " + errorMessage;
 
235
                CMSetStatusWithChars(_broker, &rc, (CMPIrc) errorCode, errorMessage.c_str());
 
236
                return rc;
 
237
        }
 
238
        
 
239
        for (size_t i=0; i < associatedInstances.size(); i++)
 
240
                CMReturnObjectPath(rslt, associatedInstances[i].getObjectpath().getHdl());
 
241
        CMReturnDone(rslt);
 
242
        _L_;
 
243
        return rc;
 
244
}
 
245
 
 
246
CMPIStatus SSH_OpenDRIM_SSHServiceAccessBySAPProviderAssociators(CMPIAssociationMI* mi, const CMPIContext* ctx, const CMPIResult* rslt, const CMPIObjectPath* cop, const char* assocClass, const char* resultClass, const char* role, const char* resultRole, const char** properties) {
 
247
        _E_;
 
248
        CMPIStatus rc = {CMPI_RC_OK, NULL};
 
249
        
 
250
        string errorMessage;
 
251
        bool leftToRight;
 
252
        vector<Instance> associatedInstances;
 
253
        Instance known;
 
254
        int errorCode = SSH_OpenDRIM_SSHServiceAccessBySAP_associator(_broker, ctx, cop, known, assocClass, resultClass, role, resultRole, properties, associatedInstances, leftToRight, errorMessage, "a");
 
255
        if (errorCode != OK) {
 
256
                errorMessage = (string) OpenDRIM_SSHServiceAccessBySAP_classnames[0] + ": " + errorMessage;
 
257
                CMSetStatusWithChars(_broker, &rc, (CMPIrc) errorCode, errorMessage.c_str());
 
258
                return rc;
 
259
        }
 
260
        
 
261
        for (size_t i=0; i < associatedInstances.size(); i++)
 
262
                CMReturnInstance(rslt, associatedInstances[i].getHdl());
 
263
        CMReturnDone(rslt);
 
264
        _L_;
 
265
        return rc;
 
266
}
 
267
 
 
268
CMPIStatus SSH_OpenDRIM_SSHServiceAccessBySAPProviderReferenceNames(CMPIAssociationMI* mi, const CMPIContext* ctx, const CMPIResult* rslt, const CMPIObjectPath* cop, const char* assocClass, const char* role) {
 
269
        _E_;
 
270
        CMPIStatus rc = {CMPI_RC_OK, NULL};
 
271
        
 
272
        string errorMessage;
 
273
        bool leftToRight;
 
274
        vector<Instance> associatedInstances;
 
275
        Instance known;
 
276
        int errorCode = SSH_OpenDRIM_SSHServiceAccessBySAP_associator(_broker, ctx, cop, known, assocClass, NULL, role, NULL, NULL, associatedInstances, leftToRight, errorMessage, "an");
 
277
        if (errorCode != OK) {
 
278
                errorMessage = (string) OpenDRIM_SSHServiceAccessBySAP_classnames[0] + ": " + errorMessage;
 
279
                CMSetStatusWithChars(_broker, &rc, (CMPIrc) errorCode, errorMessage.c_str());
 
280
                return rc;
 
281
        }
 
282
        
 
283
        vector<OpenDRIM_SSHServiceAccessBySAP> associationInstances;
 
284
        if (leftToRight)
 
285
                errorCode = SSH_OpenDRIM_SSHServiceAccessBySAP_referenceAntecedentToDependent(_broker, ctx, known, associatedInstances, associationInstances, NULL, errorMessage, "rn");
 
286
        else
 
287
                errorCode = SSH_OpenDRIM_SSHServiceAccessBySAP_referenceDependentToAntecedent(_broker, ctx, known, associatedInstances, associationInstances, NULL, errorMessage, "rn");
 
288
        if (errorCode != OK) {
 
289
                errorMessage = (string) OpenDRIM_SSHServiceAccessBySAP_classnames[0] + ": " + errorMessage;
 
290
                CMSetStatusWithChars(_broker, &rc, (CMPIrc) errorCode, errorMessage.c_str());
 
291
                return rc;
 
292
        }
 
293
        
 
294
        for (size_t i=0; i < associationInstances.size(); i++) {
 
295
                CMPIObjectPath* op = SSH_OpenDRIM_SSHServiceAccessBySAP_toCMPIObjectPath(_broker, associationInstances[i]);
 
296
                CMReturnObjectPath(rslt, op);
 
297
        }
 
298
        _L_;
 
299
        return rc;
 
300
}
 
301
 
 
302
CMPIStatus SSH_OpenDRIM_SSHServiceAccessBySAPProviderReferences(CMPIAssociationMI* mi, const CMPIContext* ctx, const CMPIResult* rslt, const CMPIObjectPath* cop, const char* assocClass, const char* role, const char** properties) {
 
303
        _E_;
 
304
        CMPIStatus rc = {CMPI_RC_OK, NULL};
 
305
        
 
306
        string errorMessage;
 
307
        bool leftToRight;
 
308
        vector<Instance> associatedInstances;
 
309
        Instance known;
 
310
        int errorCode = SSH_OpenDRIM_SSHServiceAccessBySAP_associator(_broker, ctx, cop, known, assocClass, NULL, role, NULL, NULL, associatedInstances, leftToRight, errorMessage, "an");
 
311
        if (errorCode != OK) {
 
312
                errorMessage = (string) OpenDRIM_SSHServiceAccessBySAP_classnames[0] + ": " + errorMessage;
 
313
                CMSetStatusWithChars(_broker, &rc, (CMPIrc) errorCode, errorMessage.c_str());
 
314
                return rc;
 
315
        }
 
316
        
 
317
        vector<OpenDRIM_SSHServiceAccessBySAP> associationInstances;
 
318
        if (leftToRight)
 
319
                errorCode = SSH_OpenDRIM_SSHServiceAccessBySAP_referenceAntecedentToDependent(_broker, ctx, known, associatedInstances, associationInstances, properties, errorMessage, "r");
 
320
        else
 
321
                errorCode = SSH_OpenDRIM_SSHServiceAccessBySAP_referenceDependentToAntecedent(_broker, ctx, known, associatedInstances, associationInstances, properties, errorMessage, "r");
 
322
        if (errorCode != OK) {
 
323
                errorMessage = (string) OpenDRIM_SSHServiceAccessBySAP_classnames[0] + ": " + errorMessage;
 
324
                CMSetStatusWithChars(_broker, &rc, (CMPIrc) errorCode, errorMessage.c_str());
 
325
                return rc;
 
326
        }
 
327
        
 
328
        for (size_t i=0; i < associationInstances.size(); i++) {
 
329
                CMPIInstance* inst = SSH_OpenDRIM_SSHServiceAccessBySAP_toCMPIInstance(_broker, associationInstances[i]);
 
330
                CMReturnInstance(rslt, inst);
 
331
        }
 
332
        _L_;
 
333
        return rc;
 
334
}
 
335
 
 
336
/* ---------------------------------------------------------------------------*/
 
337
/*                  End Of Association Provider Interface                     */
 
338
/* ---------------------------------------------------------------------------*/
 
339
 
 
340
/* ---------------------------------------------------------------------------*/
 
341
/*                              Provider Factory                              */
 
342
/* ---------------------------------------------------------------------------*/
 
343
 
 
344
int SSH_OpenDRIM_SSHServiceAccessBySAP_init(const CMPIBroker* broker) {
 
345
        _E_;
 
346
        _broker = broker;
 
347
        static bool initialized = false;
 
348
        if (!initialized) {
 
349
                string errorMessage;
 
350
                int errorCode = SSH_OpenDRIM_SSHServiceAccessBySAP_load(broker, errorMessage);
 
351
                if (errorCode != OK) {
 
352
                        errorMessage += "SSH_OpenDRIM_SSHServiceAccessBySAP_init FAILED: " + (string) OpenDRIM_SSHServiceAccessBySAP_classnames[0] + ": " + errorMessage;
 
353
                        string cmd = "/bin/echo \"" + errorMessage + "\" >> cmpi_prov_debug.txt";
 
354
                        system(cmd.c_str());
 
355
                        return -1;
 
356
                }
 
357
                initialized = true;
 
358
        }
 
359
        _L_;
 
360
        return OK;
 
361
}
 
362
 
 
363
int SSH_OpenDRIM_SSHServiceAccessBySAP_finalize() {
 
364
        _E_;
 
365
        static bool finalized = false;
 
366
        if (!finalized) {
 
367
                string errorMessage;
 
368
                int errorCode = SSH_OpenDRIM_SSHServiceAccessBySAP_unload(errorMessage);
 
369
                if (errorCode != OK) {
 
370
                        errorMessage += "SSH_OpenDRIM_SSHServiceAccessBySAP_unload FAILED: " + (string) OpenDRIM_SSHServiceAccessBySAP_classnames[0] + ": " + errorMessage;
 
371
                        string cmd = "/bin/echo \"" + errorMessage + "\" >> cmpi_prov_debug.txt";
 
372
                        system(cmd.c_str());
 
373
                        return errorCode;
 
374
                }
 
375
                finalized = true;
 
376
        }
 
377
        _L_;
 
378
        return OK;
 
379
}
 
380
 
 
381
#define SSH_OpenDRIM_SSHServiceAccessBySAP_INIT if (SSH_OpenDRIM_SSHServiceAccessBySAP_init(_broker) < 0) return NULL
 
382
 
 
383
CMInstanceMIStub(SSH_OpenDRIM_SSHServiceAccessBySAPProvider, SSH_OpenDRIM_SSHServiceAccessBySAPProvider, _broker, SSH_OpenDRIM_SSHServiceAccessBySAP_INIT);
 
384
CMAssociationMIStub(SSH_OpenDRIM_SSHServiceAccessBySAPProvider, SSH_OpenDRIM_SSHServiceAccessBySAPProvider, _broker, SSH_OpenDRIM_SSHServiceAccessBySAP_INIT);
 
385
 
 
386
/* ---------------------------------------------------------------------------*/
 
387
/*                          End of Provider Factory                           */
 
388
/* ---------------------------------------------------------------------------*/