Fix ordering of elements for Openstack block device mapping
[osm/SO.git] / rwcal / src / rwcal_py.c
1
2 /*
3 *
4 * Copyright 2016 RIFT.IO Inc
5 *
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 *
18 *
19 */
20
21 #include <libpeas/peas.h>
22
23 #include "rwcal-api.h"
24
25 rwcal_module_ptr_t rwcal_module_alloc()
26 {
27 rwcal_module_ptr_t rwcal;
28
29 rwcal = (rwcal_module_ptr_t)malloc(sizeof(struct rwcal_module_s));
30 if (!rwcal)
31 return NULL;
32
33 bzero(rwcal, sizeof(struct rwcal_module_s));
34
35 rwcal->framework = rw_vx_framework_alloc();
36 if (!rwcal->framework)
37 goto err;
38
39 rw_vx_require_repository("RwCal", "1.0");
40
41 goto done;
42
43 err:
44 rwcal_module_free(&rwcal);
45
46 done:
47
48 return rwcal;
49 }
50
51 void rwcal_module_free(rwcal_module_ptr_t * rwcal)
52 {
53 if ((*rwcal)->cloud)
54 g_object_unref((*rwcal)->cloud);
55
56 free(*rwcal);
57 *rwcal = NULL;
58
59 return;
60 }