HomePort
template_main.c
Go to the documentation of this file.
1 /*
2  * Copyright 2011 Aalborg University. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without modification, are
5  * permitted provided that the following conditions are met:
6  *
7  * 1. Redistributions of source code must retain the above copyright notice, this list of
8  * conditions and the following disclaimer.
9  *
10  * 2. Redistributions in binary form must reproduce the above copyright notice, this list
11  * of conditions and the following disclaimer in the documentation and/or other materials
12  * provided with the distribution.
13  *
14  * THIS SOFTWARE IS PROVIDED BY Aalborg University ''AS IS'' AND ANY EXPRESS OR IMPLIED
15  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
16  * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Aalborg University OR
17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
19  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
20  * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
21  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
22  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23  *
24  * The views and conclusions contained in the software and documentation are those of the
25  * authors and should not be interpreted as representing official policies, either expressed
26  */
27 
29 #include <hpd/hpd_daemon_api.h>
30 #include "template_adapter.h"
31 #include "template_application.h"
33 
35 int main(int argc, char *argv[])
36 {
37  hpd_error_t rc;
38  hpd_t *hpd;
39 
40  // Allocate hpd memory
41  if ((rc = hpd_alloc(&hpd))) goto error_return;
42 
43  // Add modules
44  if ((rc = hpd_module(hpd, "template_adapter", &template_adapter_def))) goto error_free;
45  if ((rc = hpd_module(hpd, "template_application", &template_app_def))) goto error_free;
46 
47  // Start hpd
48  if ((rc = hpd_start(hpd, argc, argv))) goto error_free;
49 
50  // Clean up
51  if ((rc = hpd_free(hpd))) goto error_return;
52 
53  return rc;
54 
55  error_free:
56  hpd_free(hpd);
57  error_return:
58  return rc;
59 }
60 /// [main]
hpd_error_t hpd_start(hpd_t *hpd, int argc, char *argv[])
Definition: daemon_api.c:85
enum hpd_error hpd_error_t
Definition: hpd_types.h:167
hpd_error_t hpd_module(hpd_t *hpd, const char *id, const hpd_module_def_t *module_def)
Definition: daemon_api.c:50
struct hpd_module_def template_adapter_def
[declarations]
Definition: daemon.h:50
hpd_error_t hpd_alloc(hpd_t **hpd)
[hpd_t functions]
Definition: daemon_api.c:33
int main(int argc, char *argv[])
[includes]
Definition: template_main.c:35
hpd_error_t hpd_free(hpd_t *hpd)
Definition: daemon_api.c:38
struct hpd_module_def template_app_def
[file]