Added po configurations.
[familia.git] / src / storage / family.c
1 #include <stdlib.h>
2
3 #include "family.h"
4
5 #include "../debug.h"
6
7 struct familia_family * familia_family_new()
8 {
9         struct familia_family * family = NULL;
10         family = malloc(sizeof(struct familia_family));
11
12         if (!family) {
13                 debug("["__FILE__ "] There was a problem with allocating memory for family.\n");
14                 return NULL;
15         }
16
17         family->id = 0;
18         family->individual1 = NULL;
19         family->individual2 = NULL;
20
21         return family;
22 }
23
24 void familia_family_free(struct familia_family * family)
25 {
26         family->individual1 = NULL;
27         family->individual2 = NULL;
28
29         free(family);
30 }
31
32 void familia_family_set_individual(struct familia_family * family, struct familia_individual * individual, enum FFamilyIndividualIndex index)
33 {
34         switch (index) {
35         case Individual1:
36                 family->individual1 = individual;
37                 break;
38         case Individual2:
39                 family->individual2 = individual;
40                 break;
41         }
42 }
43
44 struct familia_individual * familia_family_get_individual(struct familia_family * family, enum FFamilyIndividualIndex index)
45 {
46         switch (index) {
47         case Individual1:
48                 return family->individual1;
49         case Individual2:
50                 return family->individual2;
51         }
52         return NULL;
53 }
54
55 struct familia_individual * familia_family_remove_individual(struct familia_family * family, enum FFamilyIndividualIndex index)
56 {
57         switch (index) {
58         case Individual1:
59                 family->individual1 = NULL;
60         case Individual2:
61                 family->individual2 = NULL;
62         }
63 }