Contiki 2.5
contiki-desktop-main.c
1 /*
2  * Copyright (c) 2007, Takahide Matsutsuka.
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  * 1. Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above
11  * copyright notice, this list of conditions and the following
12  * disclaimer in the documentation and/or other materials provided
13  * with the distribution.
14  * 3. The name of the author may not be used to endorse or promote
15  * products derived from this software without specific prior
16  * written permission.
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
19  * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21  * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
22  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
24  * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
26  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
27  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29  *
30  * $Id: contiki-desktop-main.c,v 1.1 2009/12/16 06:47:18 matsutsuka Exp $
31  *
32  */
33 
34 /*
35  * \file
36  * This is a sample main file with desktop.
37  * \author
38  * Takahide Matsutsuka <markn@markn.org>
39  */
40 
41 #include "contiki.h"
42 
43 #include "program-handler.h"
44 #include "about-dsc.h"
45 #include "calc-dsc.h"
46 #include "process-list-dsc.h"
47 #include "shell-dsc.h"
48 #include "mt-test-dsc.h"
49 
50 #if WITH_LOADER_ARCH
51 #include "directory-dsc.h"
52 #endif
53 
54 /*---------------------------------------------------------------------------*/
55 int
56 main(void)
57 {
58  /* initialize process manager. */
59  process_init();
60 
61  /* start services */
62  process_start(&ctk_process, NULL);
63  process_start(&program_handler_process, NULL);
64  process_start(&etimer_process, NULL);
65 
66  /* register programs to the program handler */
67 #if WITH_LOADER_ARCH
68  program_handler_add(&directory_dsc, "Directory", 1);
69  program_handler_add(&processes_dsc, "Processes", 1);
70  // program_handler_add(&shell_dsc, "Command shell", 1);
71 #else
72  program_handler_add(&processes_dsc, "Processes", 1);
73  program_handler_add(&mttest_dsc, "Multithread", 1);
74  program_handler_add(&calc_dsc, "Calculator", 1);
75  program_handler_add(&about_dsc, "About", 1);
76 // program_handler_add(&shell_dsc, "Command shell", 1);
77 #endif
78 
79  while(1) {
80  process_run();
82  }
83 }