This is a port of the mruby/c tutorial Chapter 03 to the mbed environment.

Dependencies:   mbed

For details, refer to the following.

http://www.s-itoc.jp/activity/research/mrubyc/mrubyc_tutorial/436

Note:There is a change in rtt0.h from the original source in the mruby/c. It was necessary for inclusion in C ++ source.

Committer:
tk_takateku
Date:
Wed Feb 15 01:03:35 2017 +0000
Revision:
0:33feccbba3ff
Commit before publishing

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tk_takateku 0:33feccbba3ff 1 /*! @file
tk_takateku 0:33feccbba3ff 2 @brief
tk_takateku 0:33feccbba3ff 3 Manage global objects.
tk_takateku 0:33feccbba3ff 4
tk_takateku 0:33feccbba3ff 5 <pre>
tk_takateku 0:33feccbba3ff 6 Copyright (C) 2015 Kyushu Institute of Technology.
tk_takateku 0:33feccbba3ff 7 Copyright (C) 2015 Shimane IT Open-innovation Center.
tk_takateku 0:33feccbba3ff 8
tk_takateku 0:33feccbba3ff 9 This file is distributed under BSD 3-Clause License.
tk_takateku 0:33feccbba3ff 10
tk_takateku 0:33feccbba3ff 11 </pre>
tk_takateku 0:33feccbba3ff 12 */
tk_takateku 0:33feccbba3ff 13
tk_takateku 0:33feccbba3ff 14 #ifndef MRBC_SRC_GLOBAL_H_
tk_takateku 0:33feccbba3ff 15 #define MRBC_SRC_GLOBAL_H_
tk_takateku 0:33feccbba3ff 16
tk_takateku 0:33feccbba3ff 17 #include "value.h"
tk_takateku 0:33feccbba3ff 18
tk_takateku 0:33feccbba3ff 19 #ifdef __cplusplus
tk_takateku 0:33feccbba3ff 20 extern "C" {
tk_takateku 0:33feccbba3ff 21 #endif
tk_takateku 0:33feccbba3ff 22
tk_takateku 0:33feccbba3ff 23 #define OBJECT_WITH_SYMBOL\
tk_takateku 0:33feccbba3ff 24 mrb_sym sym_id;\
tk_takateku 0:33feccbba3ff 25 mrb_object obj
tk_takateku 0:33feccbba3ff 26
tk_takateku 0:33feccbba3ff 27 typedef struct GLOBAL_OBJECT {
tk_takateku 0:33feccbba3ff 28 OBJECT_WITH_SYMBOL;
tk_takateku 0:33feccbba3ff 29 } mrb_globalobject;
tk_takateku 0:33feccbba3ff 30
tk_takateku 0:33feccbba3ff 31 typedef struct CONST_OBJECT {
tk_takateku 0:33feccbba3ff 32 OBJECT_WITH_SYMBOL;
tk_takateku 0:33feccbba3ff 33 } mrb_constobject;
tk_takateku 0:33feccbba3ff 34
tk_takateku 0:33feccbba3ff 35 void global_object_add(mrb_sym sym_id, mrb_object *obj);
tk_takateku 0:33feccbba3ff 36 mrb_object global_object_get(mrb_sym sym_id);
tk_takateku 0:33feccbba3ff 37
tk_takateku 0:33feccbba3ff 38 void const_add(mrb_sym sym_id, mrb_object *obj);
tk_takateku 0:33feccbba3ff 39 mrb_object const_get(mrb_sym sym_id);
tk_takateku 0:33feccbba3ff 40
tk_takateku 0:33feccbba3ff 41 #ifdef __cplusplus
tk_takateku 0:33feccbba3ff 42 }
tk_takateku 0:33feccbba3ff 43 #endif
tk_takateku 0:33feccbba3ff 44 #endif
tk_takateku 0:33feccbba3ff 45