<h3 id="type-defs">Type definitions</h3>
+<pre class="prettyprint">
+/* The general structure for application's data storage. */
+struct __appdata {
+ viewdata_s view;
+};
+
+typedef struct __appdata appdata_s;
+</pre>
+
+<pre class="prettyprint">
+/* The callback function of get_display_language_cb type is called on display language selection from the list of all available languages. */
+typedef bool (*get_display_language_cb)(const char *locale, char **display_language);
+
+/* The callback function of get_available_locale_cb type is called within the <a href="#model">Model</a> module while enumerating all available languages. */
+typedef bool (*get_available_locale_cb)(const char *locale, void *data);
+</pre>
+
+<pre class="prettyprint">
+/* All the Evas_Object objects represent UI widgets. */
+struct __viewdata {
+ Evas_Object *win;
+ Evas_Object *conform;
+ Evas_Object *layout_main_panel;
+ Evas_Object *layout_language_top;
+ Evas_Object *layout_text_middle;
+ Evas_Object *layout_language_bottom;
+ Evas_Object *hoversel;
+ Evas_Object *button;
+ get_display_language_cb get_language_cb;
+};
+
+typedef struct __viewdata viewdata_s;
+</pre>
+
<h3 id="app-init">Application initialization</h3>
<h3 id="app-finit">Application termination</h3>