\chapter{File descriptor data example, with Eet unions and variants}
\hypertarget{Example_Eet_Data_File_Descriptor_02}{}\label{Example_Eet_Data_File_Descriptor_02}\index{File descriptor data example, with Eet unions and variants@{File descriptor data example, with Eet unions and variants}}
This is an example much like the one shown in \doxysectlink{eet_data_file_descriptor}{Advanced use of Eet Data Descriptors}{0}. The difference is that here we\textquotesingle{}re attaining ourselves to two new data types to store in an Eet file -- {\bfseries{unions}} and {\bfseries{variants}}. We don\textquotesingle{}t try to come with data mapping to real world use cases, here. Instead, we\textquotesingle{}re defining 3 different simple structures to be used throughout the example\+:  
\begin{DoxyCodeInclude}{0}
\DoxyCodeLine{\textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\_Example\_Struct1\ \ \ \ \ \ Example\_Struct1;}
\DoxyCodeLine{\textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\_Example\_Struct2\ \ \ \ \ \ Example\_Struct2;}
\DoxyCodeLine{\textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\_Example\_Struct3\ \ \ \ \ \ Example\_Struct3;}
\DoxyCodeLine{\textcolor{keyword}{struct\ }\_Example\_Struct1}
\DoxyCodeLine{\{}
\DoxyCodeLine{\ \ \ \textcolor{keywordtype}{double}\ \ \ \ \ \ val1;}
\DoxyCodeLine{\ \ \ \textcolor{keywordtype}{int}\ \ \ \ \ \ \ \ \ stuff;}
\DoxyCodeLine{\ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *s1;}
\DoxyCodeLine{\};}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{struct\ }\_Example\_Struct2}
\DoxyCodeLine{\{}
\DoxyCodeLine{\ \ \ \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\_Bool}}\ \ \ \ \ \ \ \ \ \ b1;}
\DoxyCodeLine{\ \ \ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{long}\ \textcolor{keywordtype}{long}\ v1;}
\DoxyCodeLine{\};}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{struct\ }\_Example\_Struct3}
\DoxyCodeLine{\{}
\DoxyCodeLine{\ \ \ \textcolor{keywordtype}{int}\ body;}
\DoxyCodeLine{\};}

\end{DoxyCodeInclude}
 To identify, for both union and variant data cases, the type of each chunk of data, we\textquotesingle{}re defining types to point to each of those structs\+:  
\begin{DoxyCodeInclude}{0}
\DoxyCodeLine{\textcolor{keyword}{typedef}\ \textcolor{keyword}{enum}\ \_Example\_Data\_Type\ \ \ \ \ \ Example\_Data\_Type;}
\DoxyCodeLine{\textcolor{keyword}{enum}\ \_Example\_Data\_Type}
\DoxyCodeLine{\{}
\DoxyCodeLine{\ \ \ EET\_UNKNOWN\ =\ 0,}
\DoxyCodeLine{\ \ \ EET\_STRUCT1,}
\DoxyCodeLine{\ \ \ EET\_STRUCT2,}
\DoxyCodeLine{\ \ \ EET\_STRUCT3,}
\DoxyCodeLine{\ \ \ EET\_BASIC\_FLOAT,}
\DoxyCodeLine{\ \ \ EET\_BASIC\_STRING}
\DoxyCodeLine{\};}

\end{DoxyCodeInclude}
 We have also a mapping from those types to name strings, to be used in the Eet unions and variants {\ttfamily type\+\_\+get()} and {\ttfamily type\+\_\+set()} type identifying callbacks\+: 
\begin{DoxyCodeInclude}{0}
\DoxyCodeLine{\textcolor{keyword}{struct}}
\DoxyCodeLine{\{}
\DoxyCodeLine{\ \ \ Example\_Data\_Type\ u;}
\DoxyCodeLine{\ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ \ \ \ \ \ \ *name;}
\DoxyCodeLine{\}\ eet\_mapping[]\ =\ \{}
\DoxyCodeLine{\ \ \ \{\ EET\_STRUCT1,\ \textcolor{stringliteral}{"{}ST1"{}}\ \},}
\DoxyCodeLine{\ \ \ \{\ EET\_STRUCT2,\ \textcolor{stringliteral}{"{}ST2"{}}\ \},}
\DoxyCodeLine{\ \ \ \{\ EET\_STRUCT3,\ \textcolor{stringliteral}{"{}ST3"{}}\ \},}
\DoxyCodeLine{\ \ \ \{\ EET\_BASIC\_FLOAT,\ \textcolor{stringliteral}{"{}float"{}}\ \},}
\DoxyCodeLine{\ \ \ \{\ EET\_BASIC\_STRING,\ \textcolor{stringliteral}{"{}string"{}}\ \},}
\DoxyCodeLine{\ \ \ \{\ EET\_UNKNOWN,\ NULL\ \}}
\DoxyCodeLine{\};}

\end{DoxyCodeInclude}
 In this example, we have no fancy hash to store our data into profiles/accounts, but just two lists for union and variant data nodes\+:  
\begin{DoxyCodeInclude}{0}
\DoxyCodeLine{\textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\_Example\_Lists\ \ \ \ \ \ \ \ Example\_Lists;}
\DoxyCodeLine{\textcolor{keyword}{struct\ }\_Example\_Lists}
\DoxyCodeLine{\{}
\DoxyCodeLine{\ \ \ \mbox{\hyperlink{struct__Eina__List}{Eina\_List}}\ *union\_list;}
\DoxyCodeLine{\ \ \ \mbox{\hyperlink{struct__Eina__List}{Eina\_List}}\ *variant\_list;}
\DoxyCodeLine{\};}

\end{DoxyCodeInclude}
 Let\textquotesingle{}s begin with our unions, then, which look like\+:  
\begin{DoxyCodeInclude}{0}
\DoxyCodeLine{\textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\_Example\_Union\ \ \ \ \ \ \ \ Example\_Union;}
\DoxyCodeLine{\textcolor{keyword}{struct\ }\_Example\_Union}
\DoxyCodeLine{\{}
\DoxyCodeLine{\ \ \ Example\_Data\_Type\ type;}
\DoxyCodeLine{}
\DoxyCodeLine{\ \ \ \textcolor{keyword}{union\ }\{}
\DoxyCodeLine{\ \ \ \ \ \ Example\_Struct1\ st1;}
\DoxyCodeLine{\ \ \ \ \ \ Example\_Struct2\ st2;}
\DoxyCodeLine{\ \ \ \ \ \ Example\_Struct3\ st3;}
\DoxyCodeLine{\ \ \ \ \ \ \textcolor{keywordtype}{float}\ f;}
\DoxyCodeLine{\ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}*\ string;}
\DoxyCodeLine{\ \ \ \}\ u;}
\DoxyCodeLine{\};}

\end{DoxyCodeInclude}
 The first interesting part of the code is where we define our data descriptors for the main lists, the unions and all of structures upon which those two depend.  
\begin{DoxyCodeInclude}{0}
\DoxyCodeLine{\textcolor{comment}{/*\ declaring\ types\ */}}
\DoxyCodeLine{\_data\_descriptors\_init(\textcolor{keywordtype}{void})}
\DoxyCodeLine{\{}
\DoxyCodeLine{\ \ \ \mbox{\hyperlink{struct__Eet__Data__Descriptor__Class}{Eet\_Data\_Descriptor\_Class}}\ eddc;}
\DoxyCodeLine{}
\DoxyCodeLine{\ \ \ \mbox{\hyperlink{group__Eet__Data__Group_ga0bf94c07d8e69cfaac8dd2d615d7542c}{EET\_EINA\_FILE\_DATA\_DESCRIPTOR\_CLASS\_SET}}(\&eddc,\ Example\_Lists);}
\DoxyCodeLine{\ \ \ \_lists\_descriptor\ =\ \mbox{\hyperlink{group__Eet__Data__Group_gaa613c638dfb72d3f9bd2bd1d4c1bf844}{eet\_data\_descriptor\_file\_new}}(\&eddc);}
\DoxyCodeLine{}
\DoxyCodeLine{\ \ \ \_struct\_1\_descriptor\ =\ \_st1\_dd();}
\DoxyCodeLine{\ \ \ \_struct\_2\_descriptor\ =\ \_st2\_dd();}
\DoxyCodeLine{\ \ \ \_struct\_3\_descriptor\ =\ \_st3\_dd();}
\DoxyCodeLine{}
\DoxyCodeLine{\ \ \ \textcolor{comment}{/*\ for\ union\ */}}
\DoxyCodeLine{\ \ \ \mbox{\hyperlink{group__Eet__Data__Group_ga0bf94c07d8e69cfaac8dd2d615d7542c}{EET\_EINA\_FILE\_DATA\_DESCRIPTOR\_CLASS\_SET}}(\&eddc,\ Example\_Union);}
\DoxyCodeLine{\ \ \ \_union\_descriptor\ =\ \mbox{\hyperlink{group__Eet__Data__Group_gaa613c638dfb72d3f9bd2bd1d4c1bf844}{eet\_data\_descriptor\_file\_new}}(\&eddc);}
\DoxyCodeLine{}
\DoxyCodeLine{\ \ \ eddc.\mbox{\hyperlink{struct__Eet__Data__Descriptor__Class_a4e3696014d6907dadd55840bf6008317}{version}}\ =\ \mbox{\hyperlink{group__Eet__Data__Group_ga61a090586eff90415b429f1017acf8a7}{EET\_DATA\_DESCRIPTOR\_CLASS\_VERSION}};}
\DoxyCodeLine{\ \ \ eddc.func.\mbox{\hyperlink{struct__Eet__Data__Descriptor__Class_af71fcc4124973c0da6aa0e84dce426cb}{type\_get}}\ =\ \_union\_type\_get;}
\DoxyCodeLine{\ \ \ eddc.func.\mbox{\hyperlink{struct__Eet__Data__Descriptor__Class_a1b6477a2a52b797a662c3fff9793f97e}{type\_set}}\ =\ \_union\_type\_set;}
\DoxyCodeLine{\ \ \ \_union\_unified\_descriptor\ =\ \mbox{\hyperlink{group__Eet__Data__Group_gaa613c638dfb72d3f9bd2bd1d4c1bf844}{eet\_data\_descriptor\_file\_new}}(\&eddc);}
\DoxyCodeLine{}
\DoxyCodeLine{\ \ \ \mbox{\hyperlink{group__Eet__Data__Group_gad0daa543d93a64add80961ae5387d45a}{EET\_DATA\_DESCRIPTOR\_ADD\_MAPPING}}(}
\DoxyCodeLine{\ \ \ \ \ \_union\_unified\_descriptor,\ \textcolor{stringliteral}{"{}ST1"{}},\ \_struct\_1\_descriptor);}
\DoxyCodeLine{\ \ \ \mbox{\hyperlink{group__Eet__Data__Group_gad0daa543d93a64add80961ae5387d45a}{EET\_DATA\_DESCRIPTOR\_ADD\_MAPPING}}(}
\DoxyCodeLine{\ \ \ \ \ \_union\_unified\_descriptor,\ \textcolor{stringliteral}{"{}ST2"{}},\ \_struct\_2\_descriptor);}
\DoxyCodeLine{\ \ \ \mbox{\hyperlink{group__Eet__Data__Group_gad0daa543d93a64add80961ae5387d45a}{EET\_DATA\_DESCRIPTOR\_ADD\_MAPPING}}(}
\DoxyCodeLine{\ \ \ \ \ \_union\_unified\_descriptor,\ \textcolor{stringliteral}{"{}ST3"{}},\ \_struct\_3\_descriptor);}
\DoxyCodeLine{\ \ \ \mbox{\hyperlink{group__Eet__Data__Group_gaaf153807a88cd2c3483c5c34bb920a95}{EET\_DATA\_DESCRIPTOR\_ADD\_MAPPING\_BASIC}}(}
\DoxyCodeLine{\ \ \ \ \ \_union\_unified\_descriptor,\ \textcolor{stringliteral}{"{}float"{}},\ \mbox{\hyperlink{group__Eet__Data__Group_ga447b1b41e09b24ac6b3fbbac8d3efb30}{EET\_T\_FLOAT}});}
\DoxyCodeLine{\ \ \ \mbox{\hyperlink{group__Eet__Data__Group_gaaf153807a88cd2c3483c5c34bb920a95}{EET\_DATA\_DESCRIPTOR\_ADD\_MAPPING\_BASIC}}(}
\DoxyCodeLine{\ \ \ \ \ \_union\_unified\_descriptor,\ \textcolor{stringliteral}{"{}string"{}},\ \mbox{\hyperlink{group__Eet__Data__Group_ga0d2cf409bf3f151156d74d18ac59e3d1}{EET\_T\_STRING}});}
\DoxyCodeLine{}
\DoxyCodeLine{\ \ \ \mbox{\hyperlink{group__Eet__Data__Group_ga07b711dca3d4bcaa0ccb8ced48341b90}{EET\_DATA\_DESCRIPTOR\_ADD\_UNION}}(}
\DoxyCodeLine{\ \ \ \ \ \_union\_descriptor,\ Example\_Union,\ \textcolor{stringliteral}{"{}u"{}},\ u,\ type,}
\DoxyCodeLine{\ \ \ \ \ \_union\_unified\_descriptor);}
\DoxyCodeLine{}
\DoxyCodeLine{\ \ \ \mbox{\hyperlink{group__Eet__Data__Group_gabb4c7833ba053f2322e6b667a9ec7f04}{EET\_DATA\_DESCRIPTOR\_ADD\_LIST}}(}
\DoxyCodeLine{\ \ \ \ \ \_lists\_descriptor,\ Example\_Lists,\ \textcolor{stringliteral}{"{}union\_list"{}},\ union\_list,}
\DoxyCodeLine{\ \ \ \ \ \_union\_descriptor);}

\end{DoxyCodeInclude}
The code for descriptors on {\ttfamily Example\+\_\+\+Struct1}, {\ttfamily Example\+\_\+\+Struct2} and {\ttfamily Example\+\_\+\+Struct3} is straightforward, a matter already covered on \doxysectlink{eet_data_file_descriptor}{Advanced use of Eet Data Descriptors}{0}. What is new, here, are the two type matching functions for our unions. There, we must set the {\ttfamily data} pointer to its matching type, on {\ttfamily \+\_\+union\+\_\+type\+\_\+set} and return the correct matching type, on {\ttfamily \+\_\+union\+\_\+type\+\_\+get\+:}  
\begin{DoxyCodeInclude}{0}

\end{DoxyCodeInclude}
 With the \doxylink{group__Eet__Data__Group_gad0daa543d93a64add80961ae5387d45a}{EET\+\_\+\+DATA\+\_\+\+DESCRIPTOR\+\_\+\+ADD\+\_\+\+MAPPING} calls, which follow, we make the the link between our type names and their respective structs. The code handling actual data is pretty much the same as in \doxysectlink{eet_data_file_descriptor}{Advanced use of Eet Data Descriptors}{0} -- one uses command line arguments to enter new data chunks (or just to visualize the contents of an Eet file), signalling if they are unions or variants. One must also pass the type of the data chuck to enter, with integers 1, 2 or
\begin{DoxyEnumerate}
\item Then, come the fields for each type\+:  
\begin{DoxyCodeInclude}{0}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}Usage:\(\backslash\)n\(\backslash\)t\%s\ <input>\ <output>\ [action\ action-\/params]\(\backslash\)n\(\backslash\)n"{}}}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}where\ actions\ and\ their\ parameters\ are:\(\backslash\)n"{}}}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}\(\backslash\)tunion\ <type>\ [fields]\(\backslash\)n"{}}}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}\(\backslash\)tvariant\ <type>\ [fields]\(\backslash\)n"{}}}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}\(\backslash\)n"{}},}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ argv[0]);}

\end{DoxyCodeInclude}
 Variants are very similar to unions, except that data chunks need {\bfseries{not}} contain previously allocated space for each of the possible types of data going in them\+:  
\begin{DoxyCodeInclude}{0}
\DoxyCodeLine{\textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\_Example\_Variant\_Type\ Example\_Variant\_Type;}
\DoxyCodeLine{\textcolor{keyword}{struct\ }\_Example\_Variant\_Type}
\DoxyCodeLine{\{}
\DoxyCodeLine{\ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *type;}
\DoxyCodeLine{\ \ \ \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\_Bool}}\ \ \ unknow\ :\ 1;}
\DoxyCodeLine{\};}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{struct\ }\_Example\_Variant}
\DoxyCodeLine{\{}
\DoxyCodeLine{\ \ \ Example\_Variant\_Type\ t;}
\DoxyCodeLine{}
\DoxyCodeLine{\ \ \ \textcolor{keywordtype}{void}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *data;\ \textcolor{comment}{/*\ differently\ than\ the\ union\ type,\ we}}
\DoxyCodeLine{\textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *\ don't\ need\ to\ pre-\/allocate\ the\ memory}}
\DoxyCodeLine{\textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *\ for\ the\ field*/}}
\DoxyCodeLine{\};}

\end{DoxyCodeInclude}
 The code declaring the data descriptors and handling the data is very similar to the unions part, and is left for the reader to check for him/herself. The complete code of the example follows.
\end{DoxyEnumerate}


\begin{DoxyCodeInclude}{0}
\DoxyCodeLine{00001\ \textcolor{comment}{//Compile\ with:}}
\DoxyCodeLine{00002\ \textcolor{comment}{//\ gcc\ -\/o\ eet-\/data-\/file\_descriptor\_02\ eet-\/data-\/file\_descriptor\_02.c\ \`{}pkg-\/config\ -\/-\/cflags\ -\/-\/libs\ eet\ eina`}}
\DoxyCodeLine{00003\ }
\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ <\mbox{\hyperlink{Eina_8h}{Eina.h}}>}}
\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ <\mbox{\hyperlink{Eet_8h}{Eet.h}}>}}
\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#include\ <stdio.h>}}
\DoxyCodeLine{00007\ \textcolor{preprocessor}{\#include\ <limits.h>}}
\DoxyCodeLine{00008\ \textcolor{preprocessor}{\#include\ <sys/types.h>}}
\DoxyCodeLine{00009\ \textcolor{preprocessor}{\#include\ <sys/stat.h>}}
\DoxyCodeLine{00010\ \textcolor{preprocessor}{\#include\ <unistd.h>}}
\DoxyCodeLine{00011\ }
\DoxyCodeLine{00012\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{enum}\ \_Example\_Data\_Type\ \ \ \ \ \ Example\_Data\_Type;}
\DoxyCodeLine{00013\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\_Example\_Variant\_Type\ Example\_Variant\_Type;}
\DoxyCodeLine{00014\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\_Example\_Variant\ \ \ \ \ \ Example\_Variant;}
\DoxyCodeLine{00015\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\_Example\_Union\ \ \ \ \ \ \ \ Example\_Union;}
\DoxyCodeLine{00016\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\_Example\_Struct1\ \ \ \ \ \ Example\_Struct1;}
\DoxyCodeLine{00017\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\_Example\_Struct2\ \ \ \ \ \ Example\_Struct2;}
\DoxyCodeLine{00018\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\_Example\_Struct3\ \ \ \ \ \ Example\_Struct3;}
\DoxyCodeLine{00019\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\_Example\_Lists\ \ \ \ \ \ \ \ Example\_Lists;}
\DoxyCodeLine{00020\ }
\DoxyCodeLine{00021\ \textcolor{keyword}{enum}\ \_Example\_Data\_Type}
\DoxyCodeLine{00022\ \{}
\DoxyCodeLine{00023\ \ \ \ EET\_UNKNOWN\ =\ 0,}
\DoxyCodeLine{00024\ \ \ \ EET\_STRUCT1,}
\DoxyCodeLine{00025\ \ \ \ EET\_STRUCT2,}
\DoxyCodeLine{00026\ \ \ \ EET\_STRUCT3,}
\DoxyCodeLine{00027\ \ \ \ EET\_BASIC\_FLOAT,}
\DoxyCodeLine{00028\ \ \ \ EET\_BASIC\_STRING}
\DoxyCodeLine{00029\ \};}
\DoxyCodeLine{00030\ }
\DoxyCodeLine{00031\ \textcolor{keyword}{struct}}
\DoxyCodeLine{00032\ \{}
\DoxyCodeLine{00033\ \ \ \ Example\_Data\_Type\ u;}
\DoxyCodeLine{00034\ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ \ \ \ \ \ \ *name;}
\DoxyCodeLine{00035\ \}\ eet\_mapping[]\ =\ \{}
\DoxyCodeLine{00036\ \ \ \ \{\ EET\_STRUCT1,\ \textcolor{stringliteral}{"{}ST1"{}}\ \},}
\DoxyCodeLine{00037\ \ \ \ \{\ EET\_STRUCT2,\ \textcolor{stringliteral}{"{}ST2"{}}\ \},}
\DoxyCodeLine{00038\ \ \ \ \{\ EET\_STRUCT3,\ \textcolor{stringliteral}{"{}ST3"{}}\ \},}
\DoxyCodeLine{00039\ \ \ \ \{\ EET\_BASIC\_FLOAT,\ \textcolor{stringliteral}{"{}float"{}}\ \},}
\DoxyCodeLine{00040\ \ \ \ \{\ EET\_BASIC\_STRING,\ \textcolor{stringliteral}{"{}string"{}}\ \},}
\DoxyCodeLine{00041\ \ \ \ \{\ EET\_UNKNOWN,\ NULL\ \}}
\DoxyCodeLine{00042\ \};}
\DoxyCodeLine{00043\ }
\DoxyCodeLine{00044\ \textcolor{keyword}{struct\ }\_Example\_Struct1}
\DoxyCodeLine{00045\ \{}
\DoxyCodeLine{00046\ \ \ \ \textcolor{keywordtype}{double}\ \ \ \ \ \ val1;}
\DoxyCodeLine{00047\ \ \ \ \textcolor{keywordtype}{int}\ \ \ \ \ \ \ \ \ stuff;}
\DoxyCodeLine{00048\ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *s1;}
\DoxyCodeLine{00049\ \};}
\DoxyCodeLine{00050\ }
\DoxyCodeLine{00051\ \textcolor{keyword}{struct\ }\_Example\_Struct2}
\DoxyCodeLine{00052\ \{}
\DoxyCodeLine{00053\ \ \ \ \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\_Bool}}\ \ \ \ \ \ \ \ \ \ b1;}
\DoxyCodeLine{00054\ \ \ \ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{long}\ \textcolor{keywordtype}{long}\ v1;}
\DoxyCodeLine{00055\ \};}
\DoxyCodeLine{00056\ }
\DoxyCodeLine{00057\ \textcolor{keyword}{struct\ }\_Example\_Struct3}
\DoxyCodeLine{00058\ \{}
\DoxyCodeLine{00059\ \ \ \ \textcolor{keywordtype}{int}\ body;}
\DoxyCodeLine{00060\ \};}
\DoxyCodeLine{00061\ }
\DoxyCodeLine{00062\ \textcolor{keyword}{struct\ }\_Example\_Union}
\DoxyCodeLine{00063\ \{}
\DoxyCodeLine{00064\ \ \ \ Example\_Data\_Type\ type;}
\DoxyCodeLine{00065\ }
\DoxyCodeLine{00066\ \ \ \ \textcolor{keyword}{union\ }\{}
\DoxyCodeLine{00067\ \ \ \ \ \ \ Example\_Struct1\ st1;}
\DoxyCodeLine{00068\ \ \ \ \ \ \ Example\_Struct2\ st2;}
\DoxyCodeLine{00069\ \ \ \ \ \ \ Example\_Struct3\ st3;}
\DoxyCodeLine{00070\ \ \ \ \ \ \ \textcolor{keywordtype}{float}\ f;}
\DoxyCodeLine{00071\ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}*\ string;}
\DoxyCodeLine{00072\ \ \ \ \}\ u;}
\DoxyCodeLine{00073\ \};}
\DoxyCodeLine{00074\ }
\DoxyCodeLine{00075\ \textcolor{keyword}{struct\ }\_Example\_Variant\_Type}
\DoxyCodeLine{00076\ \{}
\DoxyCodeLine{00077\ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *type;}
\DoxyCodeLine{00078\ \ \ \ \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\_Bool}}\ \ \ unknow\ :\ 1;}
\DoxyCodeLine{00079\ \};}
\DoxyCodeLine{00080\ }
\DoxyCodeLine{00081\ \textcolor{keyword}{struct\ }\_Example\_Variant}
\DoxyCodeLine{00082\ \{}
\DoxyCodeLine{00083\ \ \ \ Example\_Variant\_Type\ t;}
\DoxyCodeLine{00084\ }
\DoxyCodeLine{00085\ \ \ \ \textcolor{keywordtype}{void}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *data;\ \textcolor{comment}{/*\ differently\ than\ the\ union\ type,\ we}}
\DoxyCodeLine{00086\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *\ don't\ need\ to\ pre-\/allocate\ the\ memory}}
\DoxyCodeLine{00087\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *\ for\ the\ field*/}}
\DoxyCodeLine{00088\ \};}
\DoxyCodeLine{00089\ }
\DoxyCodeLine{00090\ \textcolor{keyword}{struct\ }\_Example\_Lists}
\DoxyCodeLine{00091\ \{}
\DoxyCodeLine{00092\ \ \ \ \mbox{\hyperlink{struct__Eina__List}{Eina\_List}}\ *union\_list;}
\DoxyCodeLine{00093\ \ \ \ \mbox{\hyperlink{struct__Eina__List}{Eina\_List}}\ *variant\_list;}
\DoxyCodeLine{00094\ \};}
\DoxyCodeLine{00095\ }
\DoxyCodeLine{00096\ \textcolor{keyword}{static}\ \textcolor{keywordtype}{void}}
\DoxyCodeLine{00097\ \_st1\_set(Example\_Struct1\ *st1,}
\DoxyCodeLine{00098\ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{double}\ \ \ \ \ \ \ \ \ \ \ v1,}
\DoxyCodeLine{00099\ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ \ \ \ \ \ \ \ \ \ \ \ \ \ v2,}
\DoxyCodeLine{00100\ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ \ \ \ \ \ *v3)}
\DoxyCodeLine{00101\ \{}
\DoxyCodeLine{00102\ \ \ \ st1-\/>val1\ =\ v1;}
\DoxyCodeLine{00103\ \ \ \ st1-\/>stuff\ =\ v2;}
\DoxyCodeLine{00104\ \ \ \ st1-\/>s1\ =\ v3;}
\DoxyCodeLine{00105\ \}\ \textcolor{comment}{/*\ \_st1\_set\ */}}
\DoxyCodeLine{00106\ }
\DoxyCodeLine{00107\ \textcolor{keyword}{static}\ \textcolor{keywordtype}{void}}
\DoxyCodeLine{00108\ \_st2\_set(Example\_Struct2\ \ \ *st2,}
\DoxyCodeLine{00109\ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\_Bool}}\ \ \ \ \ \ \ \ \ \ v1,}
\DoxyCodeLine{00110\ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{long}\ \textcolor{keywordtype}{long}\ v2)}
\DoxyCodeLine{00111\ \{}
\DoxyCodeLine{00112\ \ \ \ st2-\/>b1\ =\ v1;}
\DoxyCodeLine{00113\ \ \ \ st2-\/>v1\ =\ v2;}
\DoxyCodeLine{00114\ \}\ \textcolor{comment}{/*\ \_st2\_set\ */}}
\DoxyCodeLine{00115\ }
\DoxyCodeLine{00116\ \textcolor{keyword}{static}\ \textcolor{keywordtype}{void}}
\DoxyCodeLine{00117\ \_st3\_set(Example\_Struct3\ *st3,}
\DoxyCodeLine{00118\ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ \ \ \ \ \ \ \ \ \ \ \ \ \ v1)}
\DoxyCodeLine{00119\ \{}
\DoxyCodeLine{00120\ \ \ \ st3-\/>body\ =\ v1;}
\DoxyCodeLine{00121\ \}\ \textcolor{comment}{/*\ \_st3\_set\ */}}
\DoxyCodeLine{00122\ }
\DoxyCodeLine{00123\ \textcolor{keyword}{static}\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *}
\DoxyCodeLine{00124\ \textcolor{comment}{/*\ union}}
\DoxyCodeLine{00125\ \textcolor{comment}{\ \ \ type\_get()\ */}}
\DoxyCodeLine{00126\ \_union\_type\_get(\textcolor{keyword}{const}\ \textcolor{keywordtype}{void}\ *data,}
\DoxyCodeLine{00127\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\_Bool}}\ \ *unknow)}
\DoxyCodeLine{00128\ \{}
\DoxyCodeLine{00129\ \ \ \ \textcolor{keyword}{const}\ Example\_Data\_Type\ *u\ =\ data;}
\DoxyCodeLine{00130\ \ \ \ \textcolor{keywordtype}{int}\ i;}
\DoxyCodeLine{00131\ }
\DoxyCodeLine{00132\ \ \ \ \textcolor{keywordflow}{if}\ (unknow)}
\DoxyCodeLine{00133\ \ \ \ \ \ *unknow\ =\ \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\_FALSE}};}
\DoxyCodeLine{00134\ }
\DoxyCodeLine{00135\ \ \ \ \textcolor{keywordflow}{for}\ (i\ =\ 0;\ eet\_mapping[i].name\ !=\ NULL;\ ++i)}
\DoxyCodeLine{00136\ \ \ \ \ \ \textcolor{keywordflow}{if}\ (*u\ ==\ eet\_mapping[i].u)}
\DoxyCodeLine{00137\ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ eet\_mapping[i].name;}
\DoxyCodeLine{00138\ }
\DoxyCodeLine{00139\ \ \ \ \textcolor{keywordflow}{if}\ (unknow)}
\DoxyCodeLine{00140\ \ \ \ \ \ *unknow\ =\ \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\_TRUE}};}
\DoxyCodeLine{00141\ }
\DoxyCodeLine{00142\ \ \ \ \textcolor{keywordflow}{return}\ NULL;}
\DoxyCodeLine{00143\ \}\ \textcolor{comment}{/*\ \_union\_type\_get\ */}}
\DoxyCodeLine{00144\ }
\DoxyCodeLine{00145\ \textcolor{keyword}{static}\ \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\_Bool}}}
\DoxyCodeLine{00146\ \_union\_type\_set(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *type,}
\DoxyCodeLine{00147\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \ \ \ \ \ \ *data,}
\DoxyCodeLine{00148\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\_Bool}}\ \ \ unknow)}
\DoxyCodeLine{00149\ \{}
\DoxyCodeLine{00150\ \ \ \ Example\_Data\_Type\ *u\ =\ data;}
\DoxyCodeLine{00151\ \ \ \ \textcolor{keywordtype}{int}\ i;}
\DoxyCodeLine{00152\ }
\DoxyCodeLine{00153\ \ \ \ \textcolor{keywordflow}{if}\ (unknow)}
\DoxyCodeLine{00154\ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\_FALSE}};}
\DoxyCodeLine{00155\ }
\DoxyCodeLine{00156\ \ \ \ \textcolor{keywordflow}{for}\ (i\ =\ 0;\ eet\_mapping[i].name\ !=\ NULL;\ ++i)}
\DoxyCodeLine{00157\ \ \ \ \ \ \textcolor{keywordflow}{if}\ (strcmp(eet\_mapping[i].name,\ type)\ ==\ 0)}
\DoxyCodeLine{00158\ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00159\ \ \ \ \ \ \ \ \ \ \ *u\ =\ eet\_mapping[i].u;}
\DoxyCodeLine{00160\ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\_TRUE}};}
\DoxyCodeLine{00161\ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00162\ }
\DoxyCodeLine{00163\ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\_FALSE}};}
\DoxyCodeLine{00164\ \}\ \textcolor{comment}{/*\ \_union\_type\_set\ */}}
\DoxyCodeLine{00165\ }
\DoxyCodeLine{00166\ \textcolor{keyword}{static}\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *}
\DoxyCodeLine{00167\ \_variant\_type\_get(\textcolor{keyword}{const}\ \textcolor{keywordtype}{void}\ *data,}
\DoxyCodeLine{00168\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\_Bool}}\ \ *unknow)}
\DoxyCodeLine{00169\ \{}
\DoxyCodeLine{00170\ \ \ \ \textcolor{keyword}{const}\ Example\_Variant\_Type\ *type\ =\ data;}
\DoxyCodeLine{00171\ \ \ \ \textcolor{keywordtype}{int}\ i;}
\DoxyCodeLine{00172\ }
\DoxyCodeLine{00173\ \ \ \ \textcolor{keywordflow}{if}\ (unknow)}
\DoxyCodeLine{00174\ \ \ \ \ \ *unknow\ =\ type-\/>unknow;}
\DoxyCodeLine{00175\ }
\DoxyCodeLine{00176\ \ \ \ \textcolor{keywordflow}{for}\ (i\ =\ 0;\ eet\_mapping[i].name\ !=\ NULL;\ ++i)}
\DoxyCodeLine{00177\ \ \ \ \ \ \textcolor{keywordflow}{if}\ (strcmp(type-\/>type,\ eet\_mapping[i].name)\ ==\ 0)}
\DoxyCodeLine{00178\ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ eet\_mapping[i].name;}
\DoxyCodeLine{00179\ }
\DoxyCodeLine{00180\ \ \ \ \textcolor{keywordflow}{if}\ (unknow)}
\DoxyCodeLine{00181\ \ \ \ \ \ *unknow\ =\ \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\_FALSE}};}
\DoxyCodeLine{00182\ }
\DoxyCodeLine{00183\ \ \ \ \textcolor{keywordflow}{return}\ type-\/>type;}
\DoxyCodeLine{00184\ \}\ \textcolor{comment}{/*\ \_variant\_type\_get\ */}}
\DoxyCodeLine{00185\ }
\DoxyCodeLine{00186\ \textcolor{keyword}{static}\ \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\_Bool}}}
\DoxyCodeLine{00187\ \_variant\_type\_set(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *type,}
\DoxyCodeLine{00188\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \ \ \ \ \ \ *data,}
\DoxyCodeLine{00189\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\_Bool}}\ \ \ unknow)}
\DoxyCodeLine{00190\ \{}
\DoxyCodeLine{00191\ \ \ \ Example\_Variant\_Type\ *vt\ =\ data;}
\DoxyCodeLine{00192\ }
\DoxyCodeLine{00193\ \ \ \ vt-\/>type\ =\ type;}
\DoxyCodeLine{00194\ \ \ \ vt-\/>unknow\ =\ unknow;}
\DoxyCodeLine{00195\ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\_TRUE}};}
\DoxyCodeLine{00196\ \}\ \textcolor{comment}{/*\ \_variant\_type\_set\ */}}
\DoxyCodeLine{00197\ }
\DoxyCodeLine{00198\ \textcolor{keyword}{static}\ \mbox{\hyperlink{group__Eet__Data__Group_ga4baec0e840012480a0958c5c3bca276d}{Eet\_Data\_Descriptor}}\ *}
\DoxyCodeLine{00199\ \_st1\_dd(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00200\ \{}
\DoxyCodeLine{00201\ \ \ \ \mbox{\hyperlink{struct__Eet__Data__Descriptor__Class}{Eet\_Data\_Descriptor\_Class}}\ eddc;}
\DoxyCodeLine{00202\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_ga4baec0e840012480a0958c5c3bca276d}{Eet\_Data\_Descriptor}}\ *res;}
\DoxyCodeLine{00203\ }
\DoxyCodeLine{00204\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_ga0bf94c07d8e69cfaac8dd2d615d7542c}{EET\_EINA\_FILE\_DATA\_DESCRIPTOR\_CLASS\_SET}}(\&eddc,\ Example\_Struct1);}
\DoxyCodeLine{00205\ \ \ \ res\ =\ \mbox{\hyperlink{group__Eet__Data__Group_gaa613c638dfb72d3f9bd2bd1d4c1bf844}{eet\_data\_descriptor\_file\_new}}(\&eddc);}
\DoxyCodeLine{00206\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_gac38ce778d7eba37cfca8a19efb7a9b3a}{EET\_DATA\_DESCRIPTOR\_ADD\_BASIC}}(}
\DoxyCodeLine{00207\ \ \ \ \ \ res,\ Example\_Struct1,\ \textcolor{stringliteral}{"{}val1"{}},\ val1,\ \mbox{\hyperlink{group__Eet__Data__Group_gac2d8336b1127fd382c65416cf45cd3e8}{EET\_T\_DOUBLE}});}
\DoxyCodeLine{00208\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_gac38ce778d7eba37cfca8a19efb7a9b3a}{EET\_DATA\_DESCRIPTOR\_ADD\_BASIC}}(}
\DoxyCodeLine{00209\ \ \ \ \ \ res,\ Example\_Struct1,\ \textcolor{stringliteral}{"{}stuff"{}},\ stuff,\ \mbox{\hyperlink{group__Eet__Data__Group_ga4e196733795867f14c6e387af7287baa}{EET\_T\_INT}});}
\DoxyCodeLine{00210\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_gac38ce778d7eba37cfca8a19efb7a9b3a}{EET\_DATA\_DESCRIPTOR\_ADD\_BASIC}}(}
\DoxyCodeLine{00211\ \ \ \ \ \ res,\ Example\_Struct1,\ \textcolor{stringliteral}{"{}s1"{}},\ s1,\ \mbox{\hyperlink{group__Eet__Data__Group_ga0d2cf409bf3f151156d74d18ac59e3d1}{EET\_T\_STRING}});}
\DoxyCodeLine{00212\ }
\DoxyCodeLine{00213\ \ \ \ \textcolor{keywordflow}{return}\ res;}
\DoxyCodeLine{00214\ \}\ \textcolor{comment}{/*\ \_st1\_dd\ */}}
\DoxyCodeLine{00215\ }
\DoxyCodeLine{00216\ \textcolor{keyword}{static}\ \mbox{\hyperlink{group__Eet__Data__Group_ga4baec0e840012480a0958c5c3bca276d}{Eet\_Data\_Descriptor}}\ *}
\DoxyCodeLine{00217\ \_st2\_dd(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00218\ \{}
\DoxyCodeLine{00219\ \ \ \ \mbox{\hyperlink{struct__Eet__Data__Descriptor__Class}{Eet\_Data\_Descriptor\_Class}}\ eddc;}
\DoxyCodeLine{00220\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_ga4baec0e840012480a0958c5c3bca276d}{Eet\_Data\_Descriptor}}\ *res;}
\DoxyCodeLine{00221\ }
\DoxyCodeLine{00222\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_ga0bf94c07d8e69cfaac8dd2d615d7542c}{EET\_EINA\_FILE\_DATA\_DESCRIPTOR\_CLASS\_SET}}(\&eddc,\ Example\_Struct2);}
\DoxyCodeLine{00223\ \ \ \ res\ =\ \mbox{\hyperlink{group__Eet__Data__Group_gaa613c638dfb72d3f9bd2bd1d4c1bf844}{eet\_data\_descriptor\_file\_new}}(\&eddc);}
\DoxyCodeLine{00224\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_gac38ce778d7eba37cfca8a19efb7a9b3a}{EET\_DATA\_DESCRIPTOR\_ADD\_BASIC}}(}
\DoxyCodeLine{00225\ \ \ \ \ \ res,\ Example\_Struct2,\ \textcolor{stringliteral}{"{}b1"{}},\ b1,\ \mbox{\hyperlink{group__Eet__Data__Group_ga09a1341cc158fda0ba60ad2386ecd795}{EET\_T\_UCHAR}});}
\DoxyCodeLine{00226\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_gac38ce778d7eba37cfca8a19efb7a9b3a}{EET\_DATA\_DESCRIPTOR\_ADD\_BASIC}}(}
\DoxyCodeLine{00227\ \ \ \ \ \ res,\ Example\_Struct2,\ \textcolor{stringliteral}{"{}v1"{}},\ v1,\ \mbox{\hyperlink{group__Eet__Data__Group_gac984c4b3f0ad353a14679cf39a70ebd7}{EET\_T\_ULONG\_LONG}});}
\DoxyCodeLine{00228\ }
\DoxyCodeLine{00229\ \ \ \ \textcolor{keywordflow}{return}\ res;}
\DoxyCodeLine{00230\ \}\ \textcolor{comment}{/*\ \_st2\_dd\ */}}
\DoxyCodeLine{00231\ }
\DoxyCodeLine{00232\ \textcolor{keyword}{static}\ \mbox{\hyperlink{group__Eet__Data__Group_ga4baec0e840012480a0958c5c3bca276d}{Eet\_Data\_Descriptor}}\ *}
\DoxyCodeLine{00233\ \_st3\_dd(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00234\ \{}
\DoxyCodeLine{00235\ \ \ \ \mbox{\hyperlink{struct__Eet__Data__Descriptor__Class}{Eet\_Data\_Descriptor\_Class}}\ eddc;}
\DoxyCodeLine{00236\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_ga4baec0e840012480a0958c5c3bca276d}{Eet\_Data\_Descriptor}}\ *res;}
\DoxyCodeLine{00237\ }
\DoxyCodeLine{00238\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_ga0bf94c07d8e69cfaac8dd2d615d7542c}{EET\_EINA\_FILE\_DATA\_DESCRIPTOR\_CLASS\_SET}}(\&eddc,\ Example\_Struct3);}
\DoxyCodeLine{00239\ \ \ \ res\ =\ \mbox{\hyperlink{group__Eet__Data__Group_gaa613c638dfb72d3f9bd2bd1d4c1bf844}{eet\_data\_descriptor\_file\_new}}(\&eddc);}
\DoxyCodeLine{00240\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_gac38ce778d7eba37cfca8a19efb7a9b3a}{EET\_DATA\_DESCRIPTOR\_ADD\_BASIC}}(}
\DoxyCodeLine{00241\ \ \ \ \ \ res,\ Example\_Struct3,\ \textcolor{stringliteral}{"{}body"{}},\ body,\ \mbox{\hyperlink{group__Eet__Data__Group_ga4e196733795867f14c6e387af7287baa}{EET\_T\_INT}});}
\DoxyCodeLine{00242\ }
\DoxyCodeLine{00243\ \ \ \ \textcolor{keywordflow}{return}\ res;}
\DoxyCodeLine{00244\ \}\ \textcolor{comment}{/*\ \_st3\_dd\ */}}
\DoxyCodeLine{00245\ }
\DoxyCodeLine{00246\ \textcolor{comment}{/*\ string\ that\ represents\ the\ entry\ in\ the\ eet\ file.\ you\ might\ like\ to}}
\DoxyCodeLine{00247\ \textcolor{comment}{\ *\ have\ different\ profiles\ or\ so\ in\ the\ same\ file,\ this\ is\ possible}}
\DoxyCodeLine{00248\ \textcolor{comment}{\ *\ with\ different\ strings}}
\DoxyCodeLine{00249\ \textcolor{comment}{\ */}}
\DoxyCodeLine{00250\ \textcolor{keyword}{static}\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ CACHE\_FILE\_ENTRY[]\ =\ \textcolor{stringliteral}{"{}cache"{}};}
\DoxyCodeLine{00251\ }
\DoxyCodeLine{00252\ \textcolor{comment}{/*\ keep\ the\ descriptor\ static\ global,\ so\ it\ can\ be\ shared\ by\ different}}
\DoxyCodeLine{00253\ \textcolor{comment}{\ *\ functions\ (load/save)\ of\ this\ and\ only\ this\ file.}}
\DoxyCodeLine{00254\ \textcolor{comment}{\ */}}
\DoxyCodeLine{00255\ \textcolor{keyword}{static}\ \mbox{\hyperlink{group__Eet__Data__Group_ga4baec0e840012480a0958c5c3bca276d}{Eet\_Data\_Descriptor}}\ *\_lists\_descriptor;}
\DoxyCodeLine{00256\ \textcolor{keyword}{static}\ \mbox{\hyperlink{group__Eet__Data__Group_ga4baec0e840012480a0958c5c3bca276d}{Eet\_Data\_Descriptor}}\ *\_struct\_1\_descriptor;}
\DoxyCodeLine{00257\ \textcolor{keyword}{static}\ \mbox{\hyperlink{group__Eet__Data__Group_ga4baec0e840012480a0958c5c3bca276d}{Eet\_Data\_Descriptor}}\ *\_struct\_2\_descriptor;}
\DoxyCodeLine{00258\ \textcolor{keyword}{static}\ \mbox{\hyperlink{group__Eet__Data__Group_ga4baec0e840012480a0958c5c3bca276d}{Eet\_Data\_Descriptor}}\ *\_struct\_3\_descriptor;}
\DoxyCodeLine{00259\ \textcolor{keyword}{static}\ \mbox{\hyperlink{group__Eet__Data__Group_ga4baec0e840012480a0958c5c3bca276d}{Eet\_Data\_Descriptor}}\ *\_union\_descriptor;}
\DoxyCodeLine{00260\ \textcolor{keyword}{static}\ \mbox{\hyperlink{group__Eet__Data__Group_ga4baec0e840012480a0958c5c3bca276d}{Eet\_Data\_Descriptor}}\ *\_variant\_descriptor;}
\DoxyCodeLine{00261\ \textcolor{keyword}{static}\ \mbox{\hyperlink{group__Eet__Data__Group_ga4baec0e840012480a0958c5c3bca276d}{Eet\_Data\_Descriptor}}\ *\_union\_unified\_descriptor;}
\DoxyCodeLine{00262\ \textcolor{keyword}{static}\ \mbox{\hyperlink{group__Eet__Data__Group_ga4baec0e840012480a0958c5c3bca276d}{Eet\_Data\_Descriptor}}\ *\_variant\_unified\_descriptor;}
\DoxyCodeLine{00263\ }
\DoxyCodeLine{00264\ \textcolor{comment}{/*\ keep\ file\ handle\ alive,\ so\ mmap()ed\ strings\ are\ all\ alive\ as}}
\DoxyCodeLine{00265\ \textcolor{comment}{\ *\ well\ */}}
\DoxyCodeLine{00266\ \textcolor{keyword}{static}\ \mbox{\hyperlink{group__Eet__File__Group_ga8d9779184a9870c1a225f1f40c76e8a7}{Eet\_File}}\ *\_cache\_file\ =\ NULL;}
\DoxyCodeLine{00267\ \textcolor{keyword}{static}\ \mbox{\hyperlink{group__Eet__File__Group_gaf0984c8280699ca5a3c4966f5580324c}{Eet\_Dictionary}}\ *\_cache\_dict\ =\ NULL;}
\DoxyCodeLine{00268\ }
\DoxyCodeLine{00269\ \textcolor{keyword}{static}\ \textcolor{keywordtype}{void}}
\DoxyCodeLine{00270\ \textcolor{comment}{/*\ declaring\ types\ */}}
\DoxyCodeLine{00271\ \_data\_descriptors\_init(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00272\ \{}
\DoxyCodeLine{00273\ \ \ \ \mbox{\hyperlink{struct__Eet__Data__Descriptor__Class}{Eet\_Data\_Descriptor\_Class}}\ eddc;}
\DoxyCodeLine{00274\ }
\DoxyCodeLine{00275\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_ga0bf94c07d8e69cfaac8dd2d615d7542c}{EET\_EINA\_FILE\_DATA\_DESCRIPTOR\_CLASS\_SET}}(\&eddc,\ Example\_Lists);}
\DoxyCodeLine{00276\ \ \ \ \_lists\_descriptor\ =\ \mbox{\hyperlink{group__Eet__Data__Group_gaa613c638dfb72d3f9bd2bd1d4c1bf844}{eet\_data\_descriptor\_file\_new}}(\&eddc);}
\DoxyCodeLine{00277\ }
\DoxyCodeLine{00278\ \ \ \ \_struct\_1\_descriptor\ =\ \_st1\_dd();}
\DoxyCodeLine{00279\ \ \ \ \_struct\_2\_descriptor\ =\ \_st2\_dd();}
\DoxyCodeLine{00280\ \ \ \ \_struct\_3\_descriptor\ =\ \_st3\_dd();}
\DoxyCodeLine{00281\ }
\DoxyCodeLine{00282\ \ \ \ \textcolor{comment}{/*\ for\ union\ */}}
\DoxyCodeLine{00283\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_ga0bf94c07d8e69cfaac8dd2d615d7542c}{EET\_EINA\_FILE\_DATA\_DESCRIPTOR\_CLASS\_SET}}(\&eddc,\ Example\_Union);}
\DoxyCodeLine{00284\ \ \ \ \_union\_descriptor\ =\ \mbox{\hyperlink{group__Eet__Data__Group_gaa613c638dfb72d3f9bd2bd1d4c1bf844}{eet\_data\_descriptor\_file\_new}}(\&eddc);}
\DoxyCodeLine{00285\ }
\DoxyCodeLine{00286\ \ \ \ eddc.\mbox{\hyperlink{struct__Eet__Data__Descriptor__Class_a4e3696014d6907dadd55840bf6008317}{version}}\ =\ \mbox{\hyperlink{group__Eet__Data__Group_ga61a090586eff90415b429f1017acf8a7}{EET\_DATA\_DESCRIPTOR\_CLASS\_VERSION}};}
\DoxyCodeLine{00287\ \ \ \ eddc.func.\mbox{\hyperlink{struct__Eet__Data__Descriptor__Class_af71fcc4124973c0da6aa0e84dce426cb}{type\_get}}\ =\ \_union\_type\_get;}
\DoxyCodeLine{00288\ \ \ \ eddc.func.\mbox{\hyperlink{struct__Eet__Data__Descriptor__Class_a1b6477a2a52b797a662c3fff9793f97e}{type\_set}}\ =\ \_union\_type\_set;}
\DoxyCodeLine{00289\ \ \ \ \_union\_unified\_descriptor\ =\ \mbox{\hyperlink{group__Eet__Data__Group_gaa613c638dfb72d3f9bd2bd1d4c1bf844}{eet\_data\_descriptor\_file\_new}}(\&eddc);}
\DoxyCodeLine{00290\ }
\DoxyCodeLine{00291\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_gad0daa543d93a64add80961ae5387d45a}{EET\_DATA\_DESCRIPTOR\_ADD\_MAPPING}}(}
\DoxyCodeLine{00292\ \ \ \ \ \ \_union\_unified\_descriptor,\ \textcolor{stringliteral}{"{}ST1"{}},\ \_struct\_1\_descriptor);}
\DoxyCodeLine{00293\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_gad0daa543d93a64add80961ae5387d45a}{EET\_DATA\_DESCRIPTOR\_ADD\_MAPPING}}(}
\DoxyCodeLine{00294\ \ \ \ \ \ \_union\_unified\_descriptor,\ \textcolor{stringliteral}{"{}ST2"{}},\ \_struct\_2\_descriptor);}
\DoxyCodeLine{00295\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_gad0daa543d93a64add80961ae5387d45a}{EET\_DATA\_DESCRIPTOR\_ADD\_MAPPING}}(}
\DoxyCodeLine{00296\ \ \ \ \ \ \_union\_unified\_descriptor,\ \textcolor{stringliteral}{"{}ST3"{}},\ \_struct\_3\_descriptor);}
\DoxyCodeLine{00297\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_gaaf153807a88cd2c3483c5c34bb920a95}{EET\_DATA\_DESCRIPTOR\_ADD\_MAPPING\_BASIC}}(}
\DoxyCodeLine{00298\ \ \ \ \ \ \_union\_unified\_descriptor,\ \textcolor{stringliteral}{"{}float"{}},\ \mbox{\hyperlink{group__Eet__Data__Group_ga447b1b41e09b24ac6b3fbbac8d3efb30}{EET\_T\_FLOAT}});}
\DoxyCodeLine{00299\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_gaaf153807a88cd2c3483c5c34bb920a95}{EET\_DATA\_DESCRIPTOR\_ADD\_MAPPING\_BASIC}}(}
\DoxyCodeLine{00300\ \ \ \ \ \ \_union\_unified\_descriptor,\ \textcolor{stringliteral}{"{}string"{}},\ \mbox{\hyperlink{group__Eet__Data__Group_ga0d2cf409bf3f151156d74d18ac59e3d1}{EET\_T\_STRING}});}
\DoxyCodeLine{00301\ }
\DoxyCodeLine{00302\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_ga07b711dca3d4bcaa0ccb8ced48341b90}{EET\_DATA\_DESCRIPTOR\_ADD\_UNION}}(}
\DoxyCodeLine{00303\ \ \ \ \ \ \_union\_descriptor,\ Example\_Union,\ \textcolor{stringliteral}{"{}u"{}},\ u,\ type,}
\DoxyCodeLine{00304\ \ \ \ \ \ \_union\_unified\_descriptor);}
\DoxyCodeLine{00305\ }
\DoxyCodeLine{00306\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_gabb4c7833ba053f2322e6b667a9ec7f04}{EET\_DATA\_DESCRIPTOR\_ADD\_LIST}}(}
\DoxyCodeLine{00307\ \ \ \ \ \ \_lists\_descriptor,\ Example\_Lists,\ \textcolor{stringliteral}{"{}union\_list"{}},\ union\_list,}
\DoxyCodeLine{00308\ \ \ \ \ \ \_union\_descriptor);}
\DoxyCodeLine{00309\ }
\DoxyCodeLine{00310\ \ \ \ \textcolor{comment}{/*\ for\ variant\ */}}
\DoxyCodeLine{00311\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_ga0bf94c07d8e69cfaac8dd2d615d7542c}{EET\_EINA\_FILE\_DATA\_DESCRIPTOR\_CLASS\_SET}}(\&eddc,\ Example\_Variant);}
\DoxyCodeLine{00312\ \ \ \ \_variant\_descriptor\ =\ \mbox{\hyperlink{group__Eet__Data__Group_gaa613c638dfb72d3f9bd2bd1d4c1bf844}{eet\_data\_descriptor\_file\_new}}(\&eddc);}
\DoxyCodeLine{00313\ }
\DoxyCodeLine{00314\ \ \ \ eddc.\mbox{\hyperlink{struct__Eet__Data__Descriptor__Class_a4e3696014d6907dadd55840bf6008317}{version}}\ =\ \mbox{\hyperlink{group__Eet__Data__Group_ga61a090586eff90415b429f1017acf8a7}{EET\_DATA\_DESCRIPTOR\_CLASS\_VERSION}};}
\DoxyCodeLine{00315\ \ \ \ eddc.func.\mbox{\hyperlink{struct__Eet__Data__Descriptor__Class_af71fcc4124973c0da6aa0e84dce426cb}{type\_get}}\ =\ \_variant\_type\_get;}
\DoxyCodeLine{00316\ \ \ \ eddc.func.\mbox{\hyperlink{struct__Eet__Data__Descriptor__Class_a1b6477a2a52b797a662c3fff9793f97e}{type\_set}}\ =\ \_variant\_type\_set;}
\DoxyCodeLine{00317\ \ \ \ \_variant\_unified\_descriptor\ =\ \mbox{\hyperlink{group__Eet__Data__Group_ga5c2ad8edc9910f201b0dcbdbc5cc2694}{eet\_data\_descriptor\_stream\_new}}(\&eddc);}
\DoxyCodeLine{00318\ }
\DoxyCodeLine{00319\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_gad0daa543d93a64add80961ae5387d45a}{EET\_DATA\_DESCRIPTOR\_ADD\_MAPPING}}(}
\DoxyCodeLine{00320\ \ \ \ \ \ \_variant\_unified\_descriptor,\ \textcolor{stringliteral}{"{}ST1"{}},\ \_struct\_1\_descriptor);}
\DoxyCodeLine{00321\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_gad0daa543d93a64add80961ae5387d45a}{EET\_DATA\_DESCRIPTOR\_ADD\_MAPPING}}(}
\DoxyCodeLine{00322\ \ \ \ \ \ \_variant\_unified\_descriptor,\ \textcolor{stringliteral}{"{}ST2"{}},\ \_struct\_2\_descriptor);}
\DoxyCodeLine{00323\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_gad0daa543d93a64add80961ae5387d45a}{EET\_DATA\_DESCRIPTOR\_ADD\_MAPPING}}(}
\DoxyCodeLine{00324\ \ \ \ \ \ \_variant\_unified\_descriptor,\ \textcolor{stringliteral}{"{}ST3"{}},\ \_struct\_3\_descriptor);}
\DoxyCodeLine{00325\ }
\DoxyCodeLine{00326\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_ga8851a40b130061262a8dd009f0457a65}{EET\_DATA\_DESCRIPTOR\_ADD\_VARIANT}}(}
\DoxyCodeLine{00327\ \ \ \ \ \ \_variant\_descriptor,\ Example\_Variant,\ \textcolor{stringliteral}{"{}data"{}},\ data,\ t,}
\DoxyCodeLine{00328\ \ \ \ \ \ \_variant\_unified\_descriptor);}
\DoxyCodeLine{00329\ }
\DoxyCodeLine{00330\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_gabb4c7833ba053f2322e6b667a9ec7f04}{EET\_DATA\_DESCRIPTOR\_ADD\_LIST}}(}
\DoxyCodeLine{00331\ \ \ \ \ \ \_lists\_descriptor,\ Example\_Lists,\ \textcolor{stringliteral}{"{}variant\_list"{}},\ variant\_list,}
\DoxyCodeLine{00332\ \ \ \ \ \ \_variant\_descriptor);}
\DoxyCodeLine{00333\ \}\ \textcolor{comment}{/*\ \_data\_descriptors\_init\ */}}
\DoxyCodeLine{00334\ }
\DoxyCodeLine{00335\ \textcolor{keyword}{static}\ \textcolor{keywordtype}{void}}
\DoxyCodeLine{00336\ \_data\_descriptors\_shutdown(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00337\ \{}
\DoxyCodeLine{00338\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_ga3e2b601720973d0e1f4683768a593c4d}{eet\_data\_descriptor\_free}}(\_lists\_descriptor);}
\DoxyCodeLine{00339\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_ga3e2b601720973d0e1f4683768a593c4d}{eet\_data\_descriptor\_free}}(\_struct\_1\_descriptor);}
\DoxyCodeLine{00340\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_ga3e2b601720973d0e1f4683768a593c4d}{eet\_data\_descriptor\_free}}(\_struct\_2\_descriptor);}
\DoxyCodeLine{00341\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_ga3e2b601720973d0e1f4683768a593c4d}{eet\_data\_descriptor\_free}}(\_struct\_3\_descriptor);}
\DoxyCodeLine{00342\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_ga3e2b601720973d0e1f4683768a593c4d}{eet\_data\_descriptor\_free}}(\_union\_descriptor);}
\DoxyCodeLine{00343\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_ga3e2b601720973d0e1f4683768a593c4d}{eet\_data\_descriptor\_free}}(\_variant\_descriptor);}
\DoxyCodeLine{00344\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_ga3e2b601720973d0e1f4683768a593c4d}{eet\_data\_descriptor\_free}}(\_union\_unified\_descriptor);}
\DoxyCodeLine{00345\ \ \ \ \mbox{\hyperlink{group__Eet__Data__Group_ga3e2b601720973d0e1f4683768a593c4d}{eet\_data\_descriptor\_free}}(\_variant\_unified\_descriptor);}
\DoxyCodeLine{00346\ \}\ \textcolor{comment}{/*\ \_data\_descriptors\_shutdown\ */}}
\DoxyCodeLine{00347\ }
\DoxyCodeLine{00348\ \textcolor{comment}{/*\ need\ to\ check\ if\ the\ pointer\ came\ from\ mmap()ed\ area\ in}}
\DoxyCodeLine{00349\ \textcolor{comment}{\ *\ eet\_dictionary\ or\ it\ was\ allocated\ with\ eina\_stringshare\_add()}}
\DoxyCodeLine{00350\ \textcolor{comment}{\ */}}
\DoxyCodeLine{00351\ \textcolor{keyword}{static}\ \textcolor{keywordtype}{void}}
\DoxyCodeLine{00352\ \_string\_free(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *str)}
\DoxyCodeLine{00353\ \{}
\DoxyCodeLine{00354\ \ \ \ \textcolor{keywordflow}{if}\ (!str)}
\DoxyCodeLine{00355\ \ \ \ \ \ \textcolor{keywordflow}{return};}
\DoxyCodeLine{00356\ }
\DoxyCodeLine{00357\ \ \ \ \textcolor{keywordflow}{if}\ ((\_cache\_dict)\ \&\&\ (\mbox{\hyperlink{group__Eet__File__Group_ga53290da52edb929b85e51f25e79d27c8}{eet\_dictionary\_string\_check}}(\_cache\_dict,\ str)))}
\DoxyCodeLine{00358\ \ \ \ \ \ \textcolor{keywordflow}{return};}
\DoxyCodeLine{00359\ }
\DoxyCodeLine{00360\ \ \ \ \mbox{\hyperlink{group__Eina__Stringshare__Group_ga5538b4a134987b8a01744fad1a845ba4}{eina\_stringshare\_del}}(str);}
\DoxyCodeLine{00361\ \}\ \textcolor{comment}{/*\ \_string\_free\ */}}
\DoxyCodeLine{00362\ }
\DoxyCodeLine{00363\ \textcolor{keyword}{static}\ Example\_Union\ *}
\DoxyCodeLine{00364\ \_union\_1\_new(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *v1,}
\DoxyCodeLine{00365\ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *v2,}
\DoxyCodeLine{00366\ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *v3)}
\DoxyCodeLine{00367\ \{}
\DoxyCodeLine{00368\ \ \ \ Example\_Union\ *un\ =\ calloc(1,\ \textcolor{keyword}{sizeof}(Example\_Union));}
\DoxyCodeLine{00369\ \ \ \ \textcolor{keywordflow}{if}\ (!un)}
\DoxyCodeLine{00370\ \ \ \ \ \ \{}
\DoxyCodeLine{00371\ \ \ \ \ \ \ \ \ fprintf(}
\DoxyCodeLine{00372\ \ \ \ \ \ \ \ \ \ \ stderr,\ \textcolor{stringliteral}{"{}ERROR:\ could\ not\ allocate\ an\ Example\_Union\ struct.\(\backslash\)n"{}});}
\DoxyCodeLine{00373\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ NULL;}
\DoxyCodeLine{00374\ \ \ \ \ \ \}}
\DoxyCodeLine{00375\ }
\DoxyCodeLine{00376\ \ \ \ un-\/>type\ =\ EET\_STRUCT1;}
\DoxyCodeLine{00377\ \ \ \ \_st1\_set(\&(un-\/>u.st1),\ atof(v1),\ atoi(v2),\ \mbox{\hyperlink{group__Eina__Stringshare__Group_ga4e3ce40744291c1fb8574e26883c0bf2}{eina\_stringshare\_add}}(v3));}
\DoxyCodeLine{00378\ }
\DoxyCodeLine{00379\ \ \ \ \textcolor{keywordflow}{return}\ un;}
\DoxyCodeLine{00380\ \}}
\DoxyCodeLine{00381\ }
\DoxyCodeLine{00382\ \textcolor{keyword}{static}\ Example\_Union\ *}
\DoxyCodeLine{00383\ \_union\_2\_new(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *v1,}
\DoxyCodeLine{00384\ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *v2)}
\DoxyCodeLine{00385\ \{}
\DoxyCodeLine{00386\ \ \ \ Example\_Union\ *un\ =\ calloc(1,\ \textcolor{keyword}{sizeof}(Example\_Union));}
\DoxyCodeLine{00387\ \ \ \ \textcolor{keywordflow}{if}\ (!un)}
\DoxyCodeLine{00388\ \ \ \ \ \ \{}
\DoxyCodeLine{00389\ \ \ \ \ \ \ \ \ fprintf(}
\DoxyCodeLine{00390\ \ \ \ \ \ \ \ \ \ \ stderr,\ \textcolor{stringliteral}{"{}ERROR:\ could\ not\ allocate\ an\ Example\_Union\ struct.\(\backslash\)n"{}});}
\DoxyCodeLine{00391\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ NULL;}
\DoxyCodeLine{00392\ \ \ \ \ \ \}}
\DoxyCodeLine{00393\ }
\DoxyCodeLine{00394\ \ \ \ un-\/>type\ =\ EET\_STRUCT2;}
\DoxyCodeLine{00395\ \ \ \ \_st2\_set(\&(un-\/>u.st2),\ atoi(v1),\ atoi(v2));}
\DoxyCodeLine{00396\ }
\DoxyCodeLine{00397\ \ \ \ \textcolor{keywordflow}{return}\ un;}
\DoxyCodeLine{00398\ \}}
\DoxyCodeLine{00399\ }
\DoxyCodeLine{00400\ \textcolor{keyword}{static}\ Example\_Union\ *}
\DoxyCodeLine{00401\ \_union\_3\_new(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *v1)}
\DoxyCodeLine{00402\ \{}
\DoxyCodeLine{00403\ \ \ \ Example\_Union\ *un\ =\ calloc(1,\ \textcolor{keyword}{sizeof}(Example\_Union));}
\DoxyCodeLine{00404\ \ \ \ \textcolor{keywordflow}{if}\ (!un)}
\DoxyCodeLine{00405\ \ \ \ \ \ \{}
\DoxyCodeLine{00406\ \ \ \ \ \ \ \ \ fprintf(}
\DoxyCodeLine{00407\ \ \ \ \ \ \ \ \ \ \ stderr,\ \textcolor{stringliteral}{"{}ERROR:\ could\ not\ allocate\ an\ Example\_Union\ struct.\(\backslash\)n"{}});}
\DoxyCodeLine{00408\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ NULL;}
\DoxyCodeLine{00409\ \ \ \ \ \ \}}
\DoxyCodeLine{00410\ }
\DoxyCodeLine{00411\ \ \ \ un-\/>type\ =\ EET\_STRUCT3;}
\DoxyCodeLine{00412\ \ \ \ \_st3\_set(\&(un-\/>u.st3),\ atoi(v1));}
\DoxyCodeLine{00413\ }
\DoxyCodeLine{00414\ \ \ \ \textcolor{keywordflow}{return}\ un;}
\DoxyCodeLine{00415\ \}}
\DoxyCodeLine{00416\ }
\DoxyCodeLine{00417\ \textcolor{keyword}{static}\ Example\_Union\ *}
\DoxyCodeLine{00418\ \_union\_float\_new(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *v1)}
\DoxyCodeLine{00419\ \{}
\DoxyCodeLine{00420\ \ \ \ Example\_Union\ *un\ =\ calloc(1,\ \textcolor{keyword}{sizeof}(Example\_Union));}
\DoxyCodeLine{00421\ \ \ \ \textcolor{keywordflow}{if}\ (!un)}
\DoxyCodeLine{00422\ \ \ \ \ \ \{}
\DoxyCodeLine{00423\ \ \ \ \ \ \ \ \ fprintf(}
\DoxyCodeLine{00424\ \ \ \ \ \ \ \ \ \ \ stderr,\ \textcolor{stringliteral}{"{}ERROR:\ could\ not\ allocate\ an\ Example\_Union\ struct.\(\backslash\)n"{}});}
\DoxyCodeLine{00425\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ NULL;}
\DoxyCodeLine{00426\ \ \ \ \ \ \}}
\DoxyCodeLine{00427\ }
\DoxyCodeLine{00428\ \ \ \ un-\/>type\ =\ EET\_BASIC\_FLOAT;}
\DoxyCodeLine{00429\ \ \ \ un-\/>u.f\ =\ atof(v1);}
\DoxyCodeLine{00430\ }
\DoxyCodeLine{00431\ \ \ \ \textcolor{keywordflow}{return}\ un;}
\DoxyCodeLine{00432\ \}}
\DoxyCodeLine{00433\ }
\DoxyCodeLine{00434\ \textcolor{keyword}{static}\ Example\_Union\ *}
\DoxyCodeLine{00435\ \_union\_string\_new(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *v1)}
\DoxyCodeLine{00436\ \{}
\DoxyCodeLine{00437\ \ \ \ Example\_Union\ *un\ =\ calloc(1,\ \textcolor{keyword}{sizeof}(Example\_Union));}
\DoxyCodeLine{00438\ \ \ \ \textcolor{keywordflow}{if}\ (!un)}
\DoxyCodeLine{00439\ \ \ \ \ \ \{}
\DoxyCodeLine{00440\ \ \ \ \ \ \ \ \ fprintf(}
\DoxyCodeLine{00441\ \ \ \ \ \ \ \ \ \ \ stderr,\ \textcolor{stringliteral}{"{}ERROR:\ could\ not\ allocate\ an\ Example\_Union\ struct.\(\backslash\)n"{}});}
\DoxyCodeLine{00442\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ NULL;}
\DoxyCodeLine{00443\ \ \ \ \ \ \}}
\DoxyCodeLine{00444\ }
\DoxyCodeLine{00445\ \ \ \ un-\/>type\ =\ EET\_BASIC\_STRING;}
\DoxyCodeLine{00446\ \ \ \ un-\/>u.string\ =\ v1;}
\DoxyCodeLine{00447\ }
\DoxyCodeLine{00448\ \ \ \ \textcolor{keywordflow}{return}\ un;}
\DoxyCodeLine{00449\ \}}
\DoxyCodeLine{00450\ }
\DoxyCodeLine{00451\ \textcolor{keyword}{static}\ Example\_Variant\ *}
\DoxyCodeLine{00452\ \_variant\_1\_new(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *v1,}
\DoxyCodeLine{00453\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *v2,}
\DoxyCodeLine{00454\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *v3)}
\DoxyCodeLine{00455\ \{}
\DoxyCodeLine{00456\ \ \ \ Example\_Struct1\ *st1;}
\DoxyCodeLine{00457\ \ \ \ Example\_Variant\ *va\ =\ calloc(1,\ \textcolor{keyword}{sizeof}(Example\_Variant));}
\DoxyCodeLine{00458\ \ \ \ \textcolor{keywordflow}{if}\ (!va)}
\DoxyCodeLine{00459\ \ \ \ \ \ \{}
\DoxyCodeLine{00460\ \ \ \ \ \ \ \ \ fprintf(}
\DoxyCodeLine{00461\ \ \ \ \ \ \ \ \ \ \ stderr,\ \textcolor{stringliteral}{"{}ERROR:\ could\ not\ allocate\ an\ Example\_Variant\ struct.\(\backslash\)n"{}});}
\DoxyCodeLine{00462\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ NULL;}
\DoxyCodeLine{00463\ \ \ \ \ \ \}}
\DoxyCodeLine{00464\ }
\DoxyCodeLine{00465\ \ \ \ va-\/>t.type\ =\ eet\_mapping[0].name;}
\DoxyCodeLine{00466\ \ \ \ st1\ =\ calloc(1,\ \textcolor{keyword}{sizeof}\ (Example\_Struct1));}
\DoxyCodeLine{00467\ \ \ \ \_st1\_set(st1,\ atof(v1),\ atoi(v2),\ \mbox{\hyperlink{group__Eina__Stringshare__Group_ga4e3ce40744291c1fb8574e26883c0bf2}{eina\_stringshare\_add}}(v3));}
\DoxyCodeLine{00468\ \ \ \ va-\/>data\ =\ st1;}
\DoxyCodeLine{00469\ }
\DoxyCodeLine{00470\ \ \ \ \textcolor{keywordflow}{return}\ va;}
\DoxyCodeLine{00471\ \}}
\DoxyCodeLine{00472\ }
\DoxyCodeLine{00473\ \textcolor{keyword}{static}\ Example\_Variant\ *}
\DoxyCodeLine{00474\ \_variant\_2\_new(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *v1,}
\DoxyCodeLine{00475\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *v2)}
\DoxyCodeLine{00476\ \{}
\DoxyCodeLine{00477\ \ \ \ printf(\textcolor{stringliteral}{"{}varinant\ 2\ new\(\backslash\)n"{}});}
\DoxyCodeLine{00478\ }
\DoxyCodeLine{00479\ \ \ \ Example\_Struct2\ *st2;}
\DoxyCodeLine{00480\ \ \ \ Example\_Variant\ *va\ =\ calloc(1,\ \textcolor{keyword}{sizeof}(Example\_Variant));}
\DoxyCodeLine{00481\ \ \ \ \textcolor{keywordflow}{if}\ (!va)}
\DoxyCodeLine{00482\ \ \ \ \ \ \{}
\DoxyCodeLine{00483\ \ \ \ \ \ \ \ \ fprintf(}
\DoxyCodeLine{00484\ \ \ \ \ \ \ \ \ \ \ stderr,\ \textcolor{stringliteral}{"{}ERROR:\ could\ not\ allocate\ an\ Example\_Variant\ struct.\(\backslash\)n"{}});}
\DoxyCodeLine{00485\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ NULL;}
\DoxyCodeLine{00486\ \ \ \ \ \ \}}
\DoxyCodeLine{00487\ }
\DoxyCodeLine{00488\ \ \ \ va-\/>t.type\ =\ eet\_mapping[1].name;}
\DoxyCodeLine{00489\ }
\DoxyCodeLine{00490\ \ \ \ printf(\textcolor{stringliteral}{"{}type\ gets\ \%s\(\backslash\)n"{}},\ va-\/>t.type);}
\DoxyCodeLine{00491\ }
\DoxyCodeLine{00492\ \ \ \ st2\ =\ calloc(1,\ \textcolor{keyword}{sizeof}\ (Example\_Struct2));}
\DoxyCodeLine{00493\ \ \ \ \_st2\_set(st2,\ atoi(v1),\ atoi(v2));}
\DoxyCodeLine{00494\ \ \ \ va-\/>data\ =\ st2;}
\DoxyCodeLine{00495\ }
\DoxyCodeLine{00496\ \ \ \ \textcolor{keywordflow}{return}\ va;}
\DoxyCodeLine{00497\ \}}
\DoxyCodeLine{00498\ }
\DoxyCodeLine{00499\ \textcolor{keyword}{static}\ Example\_Variant\ *}
\DoxyCodeLine{00500\ \_variant\_3\_new(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *v1)}
\DoxyCodeLine{00501\ \{}
\DoxyCodeLine{00502\ \ \ \ Example\_Struct3\ *st3;}
\DoxyCodeLine{00503\ \ \ \ Example\_Variant\ *va\ =\ calloc(1,\ \textcolor{keyword}{sizeof}(Example\_Variant));}
\DoxyCodeLine{00504\ \ \ \ \textcolor{keywordflow}{if}\ (!va)}
\DoxyCodeLine{00505\ \ \ \ \ \ \{}
\DoxyCodeLine{00506\ \ \ \ \ \ \ \ \ fprintf(}
\DoxyCodeLine{00507\ \ \ \ \ \ \ \ \ \ \ stderr,\ \textcolor{stringliteral}{"{}ERROR:\ could\ not\ allocate\ an\ Example\_Variant\ struct.\(\backslash\)n"{}});}
\DoxyCodeLine{00508\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ NULL;}
\DoxyCodeLine{00509\ \ \ \ \ \ \}}
\DoxyCodeLine{00510\ }
\DoxyCodeLine{00511\ \ \ \ va-\/>t.type\ =\ eet\_mapping[2].name;}
\DoxyCodeLine{00512\ \ \ \ st3\ =\ calloc(1,\ \textcolor{keyword}{sizeof}\ (Example\_Struct3));}
\DoxyCodeLine{00513\ \ \ \ \_st3\_set(st3,\ atoi(v1));}
\DoxyCodeLine{00514\ \ \ \ va-\/>data\ =\ st3;}
\DoxyCodeLine{00515\ }
\DoxyCodeLine{00516\ \ \ \ \textcolor{keywordflow}{return}\ va;}
\DoxyCodeLine{00517\ \}}
\DoxyCodeLine{00518\ }
\DoxyCodeLine{00519\ \textcolor{keyword}{static}\ Example\_Lists\ *}
\DoxyCodeLine{00520\ \_data\_new(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00521\ \{}
\DoxyCodeLine{00522\ \ \ \ Example\_Lists\ *example\_lists\ =\ calloc(1,\ \textcolor{keyword}{sizeof}(Example\_Lists));}
\DoxyCodeLine{00523\ \ \ \ \textcolor{keywordflow}{if}\ (!example\_lists)}
\DoxyCodeLine{00524\ \ \ \ \ \ \{}
\DoxyCodeLine{00525\ \ \ \ \ \ \ \ \ fprintf(stderr,\ \textcolor{stringliteral}{"{}ERROR:\ could\ not\ allocate\ a\ Example\_Lists\ struct.\(\backslash\)n"{}});}
\DoxyCodeLine{00526\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ NULL;}
\DoxyCodeLine{00527\ \ \ \ \ \ \}}
\DoxyCodeLine{00528\ }
\DoxyCodeLine{00529\ \ \ \ \textcolor{keywordflow}{return}\ example\_lists;}
\DoxyCodeLine{00530\ \}\ \textcolor{comment}{/*\ \_data\_new\ */}}
\DoxyCodeLine{00531\ }
\DoxyCodeLine{00532\ \textcolor{keyword}{static}\ \textcolor{keywordtype}{void}}
\DoxyCodeLine{00533\ \_union\_free(Example\_Union\ *un)}
\DoxyCodeLine{00534\ \{}
\DoxyCodeLine{00535\ \ \ \ \textcolor{keywordflow}{if}\ (un-\/>type\ ==\ EET\_STRUCT1)}
\DoxyCodeLine{00536\ \ \ \ \ \ \{}
\DoxyCodeLine{00537\ \ \ \ \ \ \ \ \ Example\_Struct1\ *st1\ =\ \&(un-\/>u.st1);}
\DoxyCodeLine{00538\ \ \ \ \ \ \ \ \ \_string\_free(st1-\/>s1);}
\DoxyCodeLine{00539\ \ \ \ \ \ \}}
\DoxyCodeLine{00540\ }
\DoxyCodeLine{00541\ \ \ \ free(un);}
\DoxyCodeLine{00542\ \}}
\DoxyCodeLine{00543\ }
\DoxyCodeLine{00544\ \textcolor{keyword}{static}\ \textcolor{keywordtype}{void}}
\DoxyCodeLine{00545\ \_variant\_free(Example\_Variant\ *va)}
\DoxyCodeLine{00546\ \{}
\DoxyCodeLine{00547\ \ \ \ \textcolor{keywordflow}{if}\ (!strcmp(va-\/>t.type,\ eet\_mapping[0].name))}
\DoxyCodeLine{00548\ \ \ \ \ \ \{}
\DoxyCodeLine{00549\ \ \ \ \ \ \ \ \ Example\_Struct1\ *st1\ =\ va-\/>data;}
\DoxyCodeLine{00550\ \ \ \ \ \ \ \ \ \_string\_free(st1-\/>s1);}
\DoxyCodeLine{00551\ \ \ \ \ \ \}}
\DoxyCodeLine{00552\ }
\DoxyCodeLine{00553\ \ \ \ free(va-\/>data);}
\DoxyCodeLine{00554\ \ \ \ free(va);}
\DoxyCodeLine{00555\ \}}
\DoxyCodeLine{00556\ }
\DoxyCodeLine{00557\ \textcolor{keyword}{static}\ \textcolor{keywordtype}{void}}
\DoxyCodeLine{00558\ \_data\_free(Example\_Lists\ *cache)}
\DoxyCodeLine{00559\ \{}
\DoxyCodeLine{00560\ \ \ \ Example\_Union\ *un;}
\DoxyCodeLine{00561\ \ \ \ Example\_Variant\ *va;}
\DoxyCodeLine{00562\ }
\DoxyCodeLine{00563\ \ \ \ \mbox{\hyperlink{group__Eina__List__Group_gae27a2c686a0a11693f9b06957c9bba83}{EINA\_LIST\_FREE}}(cache-\/>union\_list,\ un)}
\DoxyCodeLine{00564\ \ \ \ \ \ \_union\_free(un);}
\DoxyCodeLine{00565\ }
\DoxyCodeLine{00566\ \ \ \ \mbox{\hyperlink{group__Eina__List__Group_gae27a2c686a0a11693f9b06957c9bba83}{EINA\_LIST\_FREE}}(cache-\/>variant\_list,\ va)}
\DoxyCodeLine{00567\ \ \ \ \ \ \_variant\_free(va);}
\DoxyCodeLine{00568\ }
\DoxyCodeLine{00569\ \ \ \ free(cache);}
\DoxyCodeLine{00570\ \}\ \textcolor{comment}{/*\ \_data\_free\ */}}
\DoxyCodeLine{00571\ }
\DoxyCodeLine{00572\ \textcolor{keyword}{static}\ Example\_Lists\ *}
\DoxyCodeLine{00573\ \_data\_load(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *filename)}
\DoxyCodeLine{00574\ \{}
\DoxyCodeLine{00575\ \ \ \ Example\_Lists\ *data;}
\DoxyCodeLine{00576\ \ \ \ \mbox{\hyperlink{group__Eet__File__Group_ga8d9779184a9870c1a225f1f40c76e8a7}{Eet\_File}}\ *ef\ =\ \mbox{\hyperlink{group__Eet__File__Group_ga675160a758832ee812edf7f64ed30ee6}{eet\_open}}(filename,\ \mbox{\hyperlink{group__Eet__File__Group_ggaa8e1a7af50fefaf15eb2f69543d24998a416f7e9a76b8131a44bbeedb13060c81}{EET\_FILE\_MODE\_READ}});}
\DoxyCodeLine{00577\ \ \ \ \textcolor{keywordflow}{if}\ (!ef)}
\DoxyCodeLine{00578\ \ \ \ \ \ \{}
\DoxyCodeLine{00579\ \ \ \ \ \ \ \ \ fprintf(stderr,\ \textcolor{stringliteral}{"{}ERROR:\ could\ not\ open\ '\%s'\ for\ read\(\backslash\)n"{}},\ filename);}
\DoxyCodeLine{00580\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ NULL;}
\DoxyCodeLine{00581\ \ \ \ \ \ \}}
\DoxyCodeLine{00582\ }
\DoxyCodeLine{00583\ \ \ \ data\ =\ \mbox{\hyperlink{group__Eet__Data__Group_ga4c09f4dfb051baabc0c0551ea98b6830}{eet\_data\_read}}(ef,\ \_lists\_descriptor,\ CACHE\_FILE\_ENTRY);}
\DoxyCodeLine{00584\ \ \ \ \textcolor{keywordflow}{if}\ (!data)}
\DoxyCodeLine{00585\ \ \ \ \ \ \{}
\DoxyCodeLine{00586\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{group__Eet__File__Group_ga1675fef1f6012c1e02ae313d13dc3e03}{eet\_close}}(ef);}
\DoxyCodeLine{00587\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ NULL;}
\DoxyCodeLine{00588\ \ \ \ \ \ \}}
\DoxyCodeLine{00589\ }
\DoxyCodeLine{00590\ \ \ \ \textcolor{keywordflow}{if}\ (\_cache\_file)}
\DoxyCodeLine{00591\ \ \ \ \ \ \mbox{\hyperlink{group__Eet__File__Group_ga1675fef1f6012c1e02ae313d13dc3e03}{eet\_close}}(\_cache\_file);}
\DoxyCodeLine{00592\ }
\DoxyCodeLine{00593\ \ \ \ \_cache\_file\ =\ ef;}
\DoxyCodeLine{00594\ \ \ \ \_cache\_dict\ =\ \mbox{\hyperlink{group__Eet__File__Group_gabac3fef94bb732840b9ac9cc2917c4c6}{eet\_dictionary\_get}}(ef);}
\DoxyCodeLine{00595\ }
\DoxyCodeLine{00596\ \ \ \ \textcolor{keywordflow}{return}\ data;}
\DoxyCodeLine{00597\ \}\ \textcolor{comment}{/*\ \_data\_load\ */}}
\DoxyCodeLine{00598\ }
\DoxyCodeLine{00599\ \textcolor{keyword}{static}\ \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\_Bool}}}
\DoxyCodeLine{00600\ \_data\_save(\textcolor{keyword}{const}\ Example\_Lists\ *cache,}
\DoxyCodeLine{00601\ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ \ \ \ \ \ \ \ \ \ *filename)}
\DoxyCodeLine{00602\ \{}
\DoxyCodeLine{00603\ \ \ \ \textcolor{keywordtype}{char}\ tmp[PATH\_MAX];}
\DoxyCodeLine{00604\ \ \ \ \mbox{\hyperlink{group__Eet__File__Group_ga8d9779184a9870c1a225f1f40c76e8a7}{Eet\_File}}\ *ef;}
\DoxyCodeLine{00605\ \ \ \ \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\_Bool}}\ ret;}
\DoxyCodeLine{00606\ \ \ \ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{int}\ i,\ len;}
\DoxyCodeLine{00607\ \ \ \ \textcolor{keyword}{struct\ }stat\ st;}
\DoxyCodeLine{00608\ }
\DoxyCodeLine{00609\ \ \ \ len\ =\ \mbox{\hyperlink{group__Eina__String__Group_gae28caa0c42c4e76ae584f22bd3615723}{eina\_strlcpy}}(tmp,\ filename,\ \textcolor{keyword}{sizeof}(tmp));}
\DoxyCodeLine{00610\ \ \ \ \textcolor{keywordflow}{if}\ (len\ +\ 12\ >=\ (\textcolor{keywordtype}{int})\textcolor{keyword}{sizeof}(tmp))}
\DoxyCodeLine{00611\ \ \ \ \ \ \{}
\DoxyCodeLine{00612\ \ \ \ \ \ \ \ \ fprintf(stderr,\ \textcolor{stringliteral}{"{}ERROR:\ file\ name\ is\ too\ big:\ \%s\(\backslash\)n"{}},\ filename);}
\DoxyCodeLine{00613\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\_FALSE}};}
\DoxyCodeLine{00614\ \ \ \ \ \ \}}
\DoxyCodeLine{00615\ }
\DoxyCodeLine{00616\ \ \ \ i\ =\ 0;}
\DoxyCodeLine{00617\ \ \ \ \textcolor{keywordflow}{do}}
\DoxyCodeLine{00618\ \ \ \ \ \ \{}
\DoxyCodeLine{00619\ \ \ \ \ \ \ \ \ snprintf(tmp\ +\ len,\ 12,\ \textcolor{stringliteral}{"{}.\%u"{}},\ i);}
\DoxyCodeLine{00620\ \ \ \ \ \ \ \ \ i++;}
\DoxyCodeLine{00621\ \ \ \ \ \ \}}
\DoxyCodeLine{00622\ \ \ \ \textcolor{keywordflow}{while}\ (stat(tmp,\ \&st)\ ==\ 0);}
\DoxyCodeLine{00623\ }
\DoxyCodeLine{00624\ \ \ \ ef\ =\ \mbox{\hyperlink{group__Eet__File__Group_ga675160a758832ee812edf7f64ed30ee6}{eet\_open}}(tmp,\ \mbox{\hyperlink{group__Eet__File__Group_ggaa8e1a7af50fefaf15eb2f69543d24998a8f395f56fba48be007c65be51d799ee9}{EET\_FILE\_MODE\_WRITE}});}
\DoxyCodeLine{00625\ \ \ \ \textcolor{keywordflow}{if}\ (!ef)}
\DoxyCodeLine{00626\ \ \ \ \ \ \{}
\DoxyCodeLine{00627\ \ \ \ \ \ \ \ \ fprintf(stderr,\ \textcolor{stringliteral}{"{}ERROR:\ could\ not\ open\ '\%s'\ for\ write\(\backslash\)n"{}},\ tmp);}
\DoxyCodeLine{00628\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\_FALSE}};}
\DoxyCodeLine{00629\ \ \ \ \ \ \}}
\DoxyCodeLine{00630\ }
\DoxyCodeLine{00631\ \ \ \ ret\ =\ \mbox{\hyperlink{group__Eet__Data__Group_gac66d1c49e3490bc5d803982d833ff8aa}{eet\_data\_write}}}
\DoxyCodeLine{00632\ \ \ \ \ \ \ \ (ef,\ \_lists\_descriptor,\ CACHE\_FILE\_ENTRY,\ cache,\ \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\_TRUE}});}
\DoxyCodeLine{00633\ }
\DoxyCodeLine{00634\ \ \ \ \mbox{\hyperlink{group__Eet__File__Group_ga1675fef1f6012c1e02ae313d13dc3e03}{eet\_close}}(ef);}
\DoxyCodeLine{00635\ }
\DoxyCodeLine{00636\ \ \ \ \textcolor{keywordflow}{if}\ (ret)}
\DoxyCodeLine{00637\ \ \ \ \ \ \{}
\DoxyCodeLine{00638\ \ \ \ \ \ \ \ \ unlink(filename);}
\DoxyCodeLine{00639\ \ \ \ \ \ \ \ \ rename(tmp,\ filename);}
\DoxyCodeLine{00640\ \ \ \ \ \ \}}
\DoxyCodeLine{00641\ }
\DoxyCodeLine{00642\ \ \ \ \textcolor{keywordflow}{return}\ ret;}
\DoxyCodeLine{00643\ \}\ \textcolor{comment}{/*\ \_data\_save\ */}}
\DoxyCodeLine{00644\ }
\DoxyCodeLine{00645\ \textcolor{keyword}{static}\ \textcolor{keywordtype}{void}}
\DoxyCodeLine{00646\ \_print\_union(\textcolor{keyword}{const}\ Example\_Union\ *un)}
\DoxyCodeLine{00647\ \{}
\DoxyCodeLine{00648\ \ \ \ printf(\textcolor{stringliteral}{"{}\(\backslash\)t\ \ |\ \ \ type:\ \%s'\(\backslash\)n"{}},\ eet\_mapping[un-\/>type\ -\/\ 1].name);}
\DoxyCodeLine{00649\ }
\DoxyCodeLine{00650\ \ \ \ \textcolor{keywordflow}{switch}\ (un-\/>type)}
\DoxyCodeLine{00651\ \ \ \ \ \ \{}
\DoxyCodeLine{00652\ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ EET\_STRUCT1:}
\DoxyCodeLine{00653\ \ \ \ \ \ \ \ \ printf(\textcolor{stringliteral}{"{}\(\backslash\)t\(\backslash\)t\ \ val1:\ \%f\(\backslash\)n"{}},\ un-\/>u.st1.val1);}
\DoxyCodeLine{00654\ \ \ \ \ \ \ \ \ printf(\textcolor{stringliteral}{"{}\(\backslash\)t\(\backslash\)t\ \ stuff:\ \%d\(\backslash\)n"{}},\ un-\/>u.st1.stuff);}
\DoxyCodeLine{00655\ \ \ \ \ \ \ \ \ printf(\textcolor{stringliteral}{"{}\(\backslash\)t\(\backslash\)t\ \ s1:\ \%s\(\backslash\)n"{}},\ un-\/>u.st1.s1);}
\DoxyCodeLine{00656\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{00657\ }
\DoxyCodeLine{00658\ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ EET\_STRUCT2:}
\DoxyCodeLine{00659\ \ \ \ \ \ \ \ \ printf(\textcolor{stringliteral}{"{}\(\backslash\)t\(\backslash\)t\ \ val1:\ \%i\(\backslash\)n"{}},\ un-\/>u.st2.b1);}
\DoxyCodeLine{00660\ \ \ \ \ \ \ \ \ printf(\textcolor{stringliteral}{"{}\(\backslash\)t\(\backslash\)t\ \ stuff:\ \%lli\(\backslash\)n"{}},\ un-\/>u.st2.v1);}
\DoxyCodeLine{00661\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{00662\ }
\DoxyCodeLine{00663\ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ EET\_STRUCT3:}
\DoxyCodeLine{00664\ \ \ \ \ \ \ \ \ printf(\textcolor{stringliteral}{"{}\(\backslash\)t\(\backslash\)t\ \ val1:\ \%i\(\backslash\)n"{}},\ un-\/>u.st3.body);}
\DoxyCodeLine{00665\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{00666\ }
\DoxyCodeLine{00667\ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ EET\_BASIC\_FLOAT:}
\DoxyCodeLine{00668\ \ \ \ \ \ \ \ \ printf(\textcolor{stringliteral}{"{}\(\backslash\)t\(\backslash\)t\ \ float:\ \%f\(\backslash\)n"{}},\ un-\/>u.f);}
\DoxyCodeLine{00669\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{00670\ }
\DoxyCodeLine{00671\ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ EET\_BASIC\_STRING:}
\DoxyCodeLine{00672\ \ \ \ \ \ \ \ \ printf(\textcolor{stringliteral}{"{}\(\backslash\)t\(\backslash\)t\ \ string:\ \%s\(\backslash\)n"{}},\ un-\/>u.string);}
\DoxyCodeLine{00673\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{00674\ }
\DoxyCodeLine{00675\ \ \ \ \ \ \ \textcolor{keywordflow}{default}:}
\DoxyCodeLine{00676\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return};}
\DoxyCodeLine{00677\ \ \ \ \ \ \}}
\DoxyCodeLine{00678\ \}}
\DoxyCodeLine{00679\ }
\DoxyCodeLine{00680\ \textcolor{keyword}{static}\ \textcolor{keywordtype}{void}}
\DoxyCodeLine{00681\ \_print\_variant(\textcolor{keyword}{const}\ Example\_Variant\ *va)}
\DoxyCodeLine{00682\ \{}
\DoxyCodeLine{00683\ \ \ \ printf(\textcolor{stringliteral}{"{}\(\backslash\)t\ \ |\ \ \ type:\ \%s'\(\backslash\)n"{}},\ va-\/>t.type);}
\DoxyCodeLine{00684\ }
\DoxyCodeLine{00685\ \ \ \ \textcolor{keywordflow}{switch}\ (va-\/>t.type[2])}
\DoxyCodeLine{00686\ \ \ \ \ \ \{}
\DoxyCodeLine{00687\ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \textcolor{charliteral}{'1'}:}
\DoxyCodeLine{00688\ \ \ \ \ \ \ \{}
\DoxyCodeLine{00689\ \ \ \ \ \ \ \ \ \ Example\_Struct1\ *st1\ =\ va-\/>data;}
\DoxyCodeLine{00690\ }
\DoxyCodeLine{00691\ \ \ \ \ \ \ \ \ \ printf(\textcolor{stringliteral}{"{}\(\backslash\)t\(\backslash\)t\ \ val1:\ \%f\(\backslash\)n"{}},\ st1-\/>val1);}
\DoxyCodeLine{00692\ \ \ \ \ \ \ \ \ \ printf(\textcolor{stringliteral}{"{}\(\backslash\)t\(\backslash\)t\ \ stuff:\ \%d\(\backslash\)n"{}},\ st1-\/>stuff);}
\DoxyCodeLine{00693\ \ \ \ \ \ \ \ \ \ printf(\textcolor{stringliteral}{"{}\(\backslash\)t\(\backslash\)t\ \ s1:\ \%s\(\backslash\)n"{}},\ st1-\/>s1);}
\DoxyCodeLine{00694\ \ \ \ \ \ \ \}}
\DoxyCodeLine{00695\ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{00696\ }
\DoxyCodeLine{00697\ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \textcolor{charliteral}{'2'}:}
\DoxyCodeLine{00698\ \ \ \ \ \ \ \{}
\DoxyCodeLine{00699\ \ \ \ \ \ \ \ \ \ Example\_Struct2\ *st2\ =\ va-\/>data;}
\DoxyCodeLine{00700\ }
\DoxyCodeLine{00701\ \ \ \ \ \ \ \ \ \ printf(\textcolor{stringliteral}{"{}\(\backslash\)t\(\backslash\)t\ \ val1:\ \%i\(\backslash\)n"{}},\ st2-\/>b1);}
\DoxyCodeLine{00702\ \ \ \ \ \ \ \ \ \ printf(\textcolor{stringliteral}{"{}\(\backslash\)t\(\backslash\)t\ \ stuff:\ \%lli\(\backslash\)n"{}},\ st2-\/>v1);}
\DoxyCodeLine{00703\ \ \ \ \ \ \ \}}
\DoxyCodeLine{00704\ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{00705\ }
\DoxyCodeLine{00706\ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ \textcolor{charliteral}{'3'}:}
\DoxyCodeLine{00707\ \ \ \ \ \ \ \{}
\DoxyCodeLine{00708\ \ \ \ \ \ \ \ \ \ Example\_Struct3\ *st3\ =\ va-\/>data;}
\DoxyCodeLine{00709\ }
\DoxyCodeLine{00710\ \ \ \ \ \ \ \ \ \ printf(\textcolor{stringliteral}{"{}\(\backslash\)t\(\backslash\)t\ \ val1:\ \%i\(\backslash\)n"{}},\ st3-\/>body);}
\DoxyCodeLine{00711\ \ \ \ \ \ \ \}}
\DoxyCodeLine{00712\ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{00713\ }
\DoxyCodeLine{00714\ \ \ \ \ \ \ \textcolor{keywordflow}{default}:}
\DoxyCodeLine{00715\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return};}
\DoxyCodeLine{00716\ \ \ \ \ \ \}}
\DoxyCodeLine{00717\ \}}
\DoxyCodeLine{00718\ }
\DoxyCodeLine{00719\ \textcolor{keywordtype}{int}}
\DoxyCodeLine{00720\ main(\textcolor{keywordtype}{int}\ \ \ argc,}
\DoxyCodeLine{00721\ \ \ \ \ \ \textcolor{keywordtype}{char}\ *argv[])}
\DoxyCodeLine{00722\ \{}
\DoxyCodeLine{00723\ \ \ \ Example\_Lists\ *data\_lists;}
\DoxyCodeLine{00724\ \ \ \ \textcolor{keywordtype}{int}\ ret\ =\ 0;}
\DoxyCodeLine{00725\ }
\DoxyCodeLine{00726\ \ \ \ \textcolor{keywordflow}{if}\ (argc\ <\ 3)}
\DoxyCodeLine{00727\ \ \ \ \ \ \{}
\DoxyCodeLine{00728\ \ \ \ \ \ \ \ \ fprintf(stderr,}
\DoxyCodeLine{00729\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}Usage:\(\backslash\)n\(\backslash\)t\%s\ <input>\ <output>\ [action\ action-\/params]\(\backslash\)n\(\backslash\)n"{}}}
\DoxyCodeLine{00730\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}where\ actions\ and\ their\ parameters\ are:\(\backslash\)n"{}}}
\DoxyCodeLine{00731\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}\(\backslash\)tunion\ <type>\ [fields]\(\backslash\)n"{}}}
\DoxyCodeLine{00732\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}\(\backslash\)tvariant\ <type>\ [fields]\(\backslash\)n"{}}}
\DoxyCodeLine{00733\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}\(\backslash\)n"{}},}
\DoxyCodeLine{00734\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ argv[0]);}
\DoxyCodeLine{00735\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ -\/1;}
\DoxyCodeLine{00736\ \ \ \ \ \ \}}
\DoxyCodeLine{00737\ }
\DoxyCodeLine{00738\ \ \ \ \mbox{\hyperlink{group__Eina__Main__Group_ga81b8137665b8a4d2cb38ca50017d4c74}{eina\_init}}();}
\DoxyCodeLine{00739\ \ \ \ \mbox{\hyperlink{group__Eet__Group_ga9903687bfa20fe9a9e59d4c1d213e89a}{eet\_init}}();}
\DoxyCodeLine{00740\ \ \ \ \_data\_descriptors\_init();}
\DoxyCodeLine{00741\ }
\DoxyCodeLine{00742\ \ \ \ data\_lists\ =\ \_data\_load(argv[1]);}
\DoxyCodeLine{00743\ \ \ \ \textcolor{keywordflow}{if}\ (!data\_lists)}
\DoxyCodeLine{00744\ \ \ \ \ \ \{}
\DoxyCodeLine{00745\ \ \ \ \ \ \ \ \ printf(\textcolor{stringliteral}{"{}Creating\ new\ data\ lists.\(\backslash\)n"{}});}
\DoxyCodeLine{00746\ \ \ \ \ \ \ \ \ data\_lists\ =\ \_data\_new();}
\DoxyCodeLine{00747\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (!data\_lists)}
\DoxyCodeLine{00748\ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00749\ \ \ \ \ \ \ \ \ \ \ \ \ \ ret\ =\ -\/2;}
\DoxyCodeLine{00750\ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{goto}\ end;}
\DoxyCodeLine{00751\ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00752\ \ \ \ \ \ \}}
\DoxyCodeLine{00753\ }
\DoxyCodeLine{00754\ \ \ \ \textcolor{keywordflow}{if}\ (argc\ >\ 3)}
\DoxyCodeLine{00755\ \ \ \ \ \ \{}
\DoxyCodeLine{00756\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (strcmp(argv[3],\ \textcolor{stringliteral}{"{}union"{}})\ ==\ 0)}
\DoxyCodeLine{00757\ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00758\ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (argc\ >\ 4)}
\DoxyCodeLine{00759\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00760\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ type\ =\ atoi(argv[4]);}
\DoxyCodeLine{00761\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Example\_Union\ *un;}
\DoxyCodeLine{00762\ }
\DoxyCodeLine{00763\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (type\ <\ EET\_STRUCT1\ ||\ type\ >\ EET\_BASIC\_STRING)}
\DoxyCodeLine{00764\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00765\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fprintf(stderr,}
\DoxyCodeLine{00766\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}ERROR:\ invalid\ type\ parameter\ (\%s).\(\backslash\)n"{}},}
\DoxyCodeLine{00767\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ argv[4]);}
\DoxyCodeLine{00768\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{goto}\ cont;}
\DoxyCodeLine{00769\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00770\ }
\DoxyCodeLine{00771\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{switch}\ (type)}
\DoxyCodeLine{00772\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00773\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ 1:}
\DoxyCodeLine{00774\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (argc\ !=\ 8)}
\DoxyCodeLine{00775\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00776\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fprintf(}
\DoxyCodeLine{00777\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ stderr,\ \textcolor{stringliteral}{"{}ERROR:\ wrong\ number\ of\ parameters"{}}}
\DoxyCodeLine{00778\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}\ (\%d).\(\backslash\)n"{}},\ argc);}
\DoxyCodeLine{00779\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{goto}\ cont;}
\DoxyCodeLine{00780\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00781\ }
\DoxyCodeLine{00782\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ un\ =\ \_union\_1\_new(}
\DoxyCodeLine{00783\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ argv[5],\ argv[6],\ argv[7]);}
\DoxyCodeLine{00784\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (!un)}
\DoxyCodeLine{00785\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00786\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fprintf(}
\DoxyCodeLine{00787\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ stderr,\ \textcolor{stringliteral}{"{}ERROR:\ could\ not\ create\ the\ "{}}}
\DoxyCodeLine{00788\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}requested\ union.\(\backslash\)n"{}});}
\DoxyCodeLine{00789\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{goto}\ cont;}
\DoxyCodeLine{00790\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00791\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ data\_lists-\/>union\_list\ =}
\DoxyCodeLine{00792\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{group__Eina__List__Group_ga625698a383dda8fc0db245a1c7608c49}{eina\_list\_append}}(data\_lists-\/>union\_list,\ un);}
\DoxyCodeLine{00793\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{00794\ }
\DoxyCodeLine{00795\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ 2:}
\DoxyCodeLine{00796\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (argc\ !=\ 7)}
\DoxyCodeLine{00797\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00798\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fprintf(}
\DoxyCodeLine{00799\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ stderr,\ \textcolor{stringliteral}{"{}ERROR:\ wrong\ number\ of\ parameters"{}}}
\DoxyCodeLine{00800\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}\ (\%d).\(\backslash\)n"{}},\ argc);}
\DoxyCodeLine{00801\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{goto}\ cont;}
\DoxyCodeLine{00802\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00803\ }
\DoxyCodeLine{00804\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ un\ =\ \_union\_2\_new(argv[5],\ argv[6]);}
\DoxyCodeLine{00805\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (!un)}
\DoxyCodeLine{00806\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00807\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fprintf(}
\DoxyCodeLine{00808\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ stderr,\ \textcolor{stringliteral}{"{}ERROR:\ could\ not\ create\ the\ "{}}}
\DoxyCodeLine{00809\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}requested\ union.\(\backslash\)n"{}});}
\DoxyCodeLine{00810\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{goto}\ cont;}
\DoxyCodeLine{00811\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00812\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ data\_lists-\/>union\_list\ =}
\DoxyCodeLine{00813\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{group__Eina__List__Group_ga625698a383dda8fc0db245a1c7608c49}{eina\_list\_append}}(data\_lists-\/>union\_list,\ un);}
\DoxyCodeLine{00814\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{00815\ }
\DoxyCodeLine{00816\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ 3:}
\DoxyCodeLine{00817\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (argc\ !=\ 6)}
\DoxyCodeLine{00818\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00819\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fprintf(}
\DoxyCodeLine{00820\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ stderr,\ \textcolor{stringliteral}{"{}ERROR:\ wrong\ number\ of\ parameters"{}}}
\DoxyCodeLine{00821\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}\ (\%d).\(\backslash\)n"{}},\ argc);}
\DoxyCodeLine{00822\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{goto}\ cont;}
\DoxyCodeLine{00823\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00824\ }
\DoxyCodeLine{00825\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ un\ =\ \_union\_3\_new(argv[5]);}
\DoxyCodeLine{00826\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (!un)}
\DoxyCodeLine{00827\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00828\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fprintf(}
\DoxyCodeLine{00829\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ stderr,\ \textcolor{stringliteral}{"{}ERROR:\ could\ not\ create\ the\ "{}}}
\DoxyCodeLine{00830\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}requested\ union.\(\backslash\)n"{}});}
\DoxyCodeLine{00831\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{goto}\ cont;}
\DoxyCodeLine{00832\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00833\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ data\_lists-\/>union\_list\ =}
\DoxyCodeLine{00834\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{group__Eina__List__Group_ga625698a383dda8fc0db245a1c7608c49}{eina\_list\_append}}(data\_lists-\/>union\_list,\ un);}
\DoxyCodeLine{00835\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{00836\ }
\DoxyCodeLine{00837\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ EET\_BASIC\_FLOAT:}
\DoxyCodeLine{00838\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (argc\ !=\ 6)}
\DoxyCodeLine{00839\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00840\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fprintf(}
\DoxyCodeLine{00841\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ stderr,\ \textcolor{stringliteral}{"{}ERROR:\ wrong\ number\ of\ parameters"{}}}
\DoxyCodeLine{00842\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}\ (\%d).\(\backslash\)n"{}},\ argc);}
\DoxyCodeLine{00843\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{goto}\ cont;}
\DoxyCodeLine{00844\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00845\ }
\DoxyCodeLine{00846\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ un\ =\ \_union\_float\_new(argv[5]);}
\DoxyCodeLine{00847\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (!un)}
\DoxyCodeLine{00848\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00849\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fprintf(}
\DoxyCodeLine{00850\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ stderr,\ \textcolor{stringliteral}{"{}ERROR:\ could\ not\ create\ the\ "{}}}
\DoxyCodeLine{00851\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}requested\ union.\(\backslash\)n"{}});}
\DoxyCodeLine{00852\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{goto}\ cont;}
\DoxyCodeLine{00853\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00854\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ data\_lists-\/>union\_list\ =}
\DoxyCodeLine{00855\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{group__Eina__List__Group_ga625698a383dda8fc0db245a1c7608c49}{eina\_list\_append}}(data\_lists-\/>union\_list,\ un);}
\DoxyCodeLine{00856\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{00857\ }
\DoxyCodeLine{00858\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ EET\_BASIC\_STRING:}
\DoxyCodeLine{00859\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (argc\ !=\ 6)}
\DoxyCodeLine{00860\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00861\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fprintf(}
\DoxyCodeLine{00862\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ stderr,\ \textcolor{stringliteral}{"{}ERROR:\ wrong\ number\ of\ parameters"{}}}
\DoxyCodeLine{00863\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}\ (\%d).\(\backslash\)n"{}},\ argc);}
\DoxyCodeLine{00864\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{goto}\ cont;}
\DoxyCodeLine{00865\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00866\ }
\DoxyCodeLine{00867\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ un\ =\ \_union\_string\_new(argv[5]);}
\DoxyCodeLine{00868\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (!un)}
\DoxyCodeLine{00869\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00870\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fprintf(}
\DoxyCodeLine{00871\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ stderr,\ \textcolor{stringliteral}{"{}ERROR:\ could\ not\ create\ the\ "{}}}
\DoxyCodeLine{00872\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}requested\ union.\(\backslash\)n"{}});}
\DoxyCodeLine{00873\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{goto}\ cont;}
\DoxyCodeLine{00874\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00875\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ data\_lists-\/>union\_list\ =}
\DoxyCodeLine{00876\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{group__Eina__List__Group_ga625698a383dda8fc0db245a1c7608c49}{eina\_list\_append}}(data\_lists-\/>union\_list,\ un);}
\DoxyCodeLine{00877\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{00878\ }
\DoxyCodeLine{00879\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{default}:}
\DoxyCodeLine{00880\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fprintf(}
\DoxyCodeLine{00881\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ stderr,\ \textcolor{stringliteral}{"{}ERROR:\ bad\ type\ of\ of\ struct\ passed\(\backslash\)n"{}});}
\DoxyCodeLine{00882\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{goto}\ cont;}
\DoxyCodeLine{00883\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00884\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00885\ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{else}}
\DoxyCodeLine{00886\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fprintf(stderr,}
\DoxyCodeLine{00887\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}ERROR:\ wrong\ number\ of\ parameters\ (\%d).\(\backslash\)n"{}},}
\DoxyCodeLine{00888\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ argc);}
\DoxyCodeLine{00889\ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00890\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}\ (strcmp(argv[3],\ \textcolor{stringliteral}{"{}variant"{}})\ ==\ 0)}
\DoxyCodeLine{00891\ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00892\ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (argc\ >\ 4)}
\DoxyCodeLine{00893\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00894\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ type\ =\ atoi(argv[4]);}
\DoxyCodeLine{00895\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Example\_Variant\ *va;}
\DoxyCodeLine{00896\ }
\DoxyCodeLine{00897\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (type\ <\ EET\_STRUCT1\ ||\ type\ >\ EET\_STRUCT3)}
\DoxyCodeLine{00898\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00899\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fprintf(stderr,}
\DoxyCodeLine{00900\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}ERROR:\ invalid\ type\ parameter\ (\%s).\(\backslash\)n"{}},}
\DoxyCodeLine{00901\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ argv[4]);}
\DoxyCodeLine{00902\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{goto}\ cont;}
\DoxyCodeLine{00903\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00904\ }
\DoxyCodeLine{00905\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{switch}\ (type)}
\DoxyCodeLine{00906\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00907\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ 1:}
\DoxyCodeLine{00908\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (argc\ !=\ 8)}
\DoxyCodeLine{00909\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00910\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fprintf(}
\DoxyCodeLine{00911\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ stderr,\ \textcolor{stringliteral}{"{}ERROR:\ wrong\ number\ of\ parameters"{}}}
\DoxyCodeLine{00912\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}\ (\%d).\(\backslash\)n"{}},\ argc);}
\DoxyCodeLine{00913\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{goto}\ cont;}
\DoxyCodeLine{00914\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00915\ }
\DoxyCodeLine{00916\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ va\ =\ \_variant\_1\_new(}
\DoxyCodeLine{00917\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ argv[5],\ argv[6],\ argv[7]);}
\DoxyCodeLine{00918\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (!va)}
\DoxyCodeLine{00919\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00920\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fprintf(}
\DoxyCodeLine{00921\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ stderr,\ \textcolor{stringliteral}{"{}ERROR:\ could\ not\ create\ the\ "{}}}
\DoxyCodeLine{00922\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}requested\ variant.\(\backslash\)n"{}});}
\DoxyCodeLine{00923\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{goto}\ cont;}
\DoxyCodeLine{00924\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00925\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ data\_lists-\/>variant\_list\ =}
\DoxyCodeLine{00926\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{group__Eina__List__Group_ga625698a383dda8fc0db245a1c7608c49}{eina\_list\_append}}(data\_lists-\/>variant\_list,\ va);}
\DoxyCodeLine{00927\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{00928\ }
\DoxyCodeLine{00929\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ 2:}
\DoxyCodeLine{00930\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (argc\ !=\ 7)}
\DoxyCodeLine{00931\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00932\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fprintf(}
\DoxyCodeLine{00933\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ stderr,\ \textcolor{stringliteral}{"{}ERROR:\ wrong\ number\ of\ parameters"{}}}
\DoxyCodeLine{00934\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}\ (\%d).\(\backslash\)n"{}},\ argc);}
\DoxyCodeLine{00935\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{goto}\ cont;}
\DoxyCodeLine{00936\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00937\ }
\DoxyCodeLine{00938\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ va\ =\ \_variant\_2\_new(argv[5],\ argv[6]);}
\DoxyCodeLine{00939\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (!va)}
\DoxyCodeLine{00940\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00941\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fprintf(}
\DoxyCodeLine{00942\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ stderr,\ \textcolor{stringliteral}{"{}ERROR:\ could\ not\ create\ the\ "{}}}
\DoxyCodeLine{00943\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}requested\ variant.\(\backslash\)n"{}});}
\DoxyCodeLine{00944\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{goto}\ cont;}
\DoxyCodeLine{00945\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00946\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ data\_lists-\/>variant\_list\ =}
\DoxyCodeLine{00947\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{group__Eina__List__Group_ga625698a383dda8fc0db245a1c7608c49}{eina\_list\_append}}(data\_lists-\/>variant\_list,\ va);}
\DoxyCodeLine{00948\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{00949\ }
\DoxyCodeLine{00950\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{case}\ 3:}
\DoxyCodeLine{00951\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (argc\ !=\ 6)}
\DoxyCodeLine{00952\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00953\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fprintf(}
\DoxyCodeLine{00954\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ stderr,\ \textcolor{stringliteral}{"{}ERROR:\ wrong\ number\ of\ parameters"{}}}
\DoxyCodeLine{00955\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}\ (\%d).\(\backslash\)n"{}},\ argc);}
\DoxyCodeLine{00956\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{goto}\ cont;}
\DoxyCodeLine{00957\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00958\ }
\DoxyCodeLine{00959\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ va\ =\ \_variant\_3\_new(argv[5]);}
\DoxyCodeLine{00960\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (!va)}
\DoxyCodeLine{00961\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00962\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fprintf(}
\DoxyCodeLine{00963\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ stderr,\ \textcolor{stringliteral}{"{}ERROR:\ could\ not\ create\ the\ "{}}}
\DoxyCodeLine{00964\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}requested\ variant.\(\backslash\)n"{}});}
\DoxyCodeLine{00965\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{goto}\ cont;}
\DoxyCodeLine{00966\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00967\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ data\_lists-\/>variant\_list\ =}
\DoxyCodeLine{00968\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{group__Eina__List__Group_ga625698a383dda8fc0db245a1c7608c49}{eina\_list\_append}}(data\_lists-\/>variant\_list,\ va);}
\DoxyCodeLine{00969\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{00970\ }
\DoxyCodeLine{00971\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{default}:}
\DoxyCodeLine{00972\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fprintf(}
\DoxyCodeLine{00973\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ stderr,\ \textcolor{stringliteral}{"{}ERROR:\ bad\ type\ of\ of\ struct\ passed\(\backslash\)n"{}});}
\DoxyCodeLine{00974\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{goto}\ cont;}
\DoxyCodeLine{00975\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00976\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00977\ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{else}}
\DoxyCodeLine{00978\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fprintf(stderr,}
\DoxyCodeLine{00979\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}ERROR:\ wrong\ number\ of\ parameters\ (\%d).\(\backslash\)n"{}},}
\DoxyCodeLine{00980\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ argc);}
\DoxyCodeLine{00981\ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00982\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{else}}
\DoxyCodeLine{00983\ \ \ \ \ \ \ \ \ \ \ fprintf(stderr,\ \textcolor{stringliteral}{"{}ERROR:\ unknown\ action\ '\%s'\(\backslash\)n"{}},\ argv[3]);}
\DoxyCodeLine{00984\ \ \ \ \ \ \}}
\DoxyCodeLine{00985\ }
\DoxyCodeLine{00986\ cont:}
\DoxyCodeLine{00987\ \ \ \ printf(\textcolor{stringliteral}{"{}Cached\ data:\(\backslash\)n"{}});}
\DoxyCodeLine{00988\ }
\DoxyCodeLine{00989\ \ \ \ printf(\textcolor{stringliteral}{"{}\(\backslash\)tstats:\ unions=\%u,\ variants=\%u\(\backslash\)n"{}},}
\DoxyCodeLine{00990\ \ \ \ \ \ \ \ \ \ \ eina\_list\_count(data\_lists-\/>union\_list),}
\DoxyCodeLine{00991\ \ \ \ \ \ \ \ \ \ \ eina\_list\_count(data\_lists-\/>variant\_list));}
\DoxyCodeLine{00992\ }
\DoxyCodeLine{00993\ \ \ \ \textcolor{keywordflow}{if}\ (eina\_list\_count(data\_lists-\/>union\_list))}
\DoxyCodeLine{00994\ \ \ \ \ \ \{}
\DoxyCodeLine{00995\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \mbox{\hyperlink{struct__Eina__List}{Eina\_List}}\ *l;}
\DoxyCodeLine{00996\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ Example\_Union\ *un;}
\DoxyCodeLine{00997\ \ \ \ \ \ \ \ \ printf(\textcolor{stringliteral}{"{}\(\backslash\)t\ \ *\ union\ list:\(\backslash\)n"{}});}
\DoxyCodeLine{00998\ }
\DoxyCodeLine{00999\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{group__Eina__List__Group_gac6efafc19f526d916cdb9757240a8773}{EINA\_LIST\_FOREACH}}(data\_lists-\/>union\_list,\ l,\ un)}
\DoxyCodeLine{01000\ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{01001\ \ \ \ \ \ \ \ \ \ \ \ \ \ \_print\_union(un);}
\DoxyCodeLine{01002\ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{01003\ \ \ \ \ \ \}}
\DoxyCodeLine{01004\ }
\DoxyCodeLine{01005\ \ \ \ \textcolor{keywordflow}{if}\ (eina\_list\_count(data\_lists-\/>variant\_list))}
\DoxyCodeLine{01006\ \ \ \ \ \ \{}
\DoxyCodeLine{01007\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \mbox{\hyperlink{struct__Eina__List}{Eina\_List}}\ *l;}
\DoxyCodeLine{01008\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ Example\_Variant\ *un;}
\DoxyCodeLine{01009\ \ \ \ \ \ \ \ \ printf(\textcolor{stringliteral}{"{}\(\backslash\)t\ \ *\ variant\ list:\(\backslash\)n"{}});}
\DoxyCodeLine{01010\ }
\DoxyCodeLine{01011\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{group__Eina__List__Group_gac6efafc19f526d916cdb9757240a8773}{EINA\_LIST\_FOREACH}}(data\_lists-\/>variant\_list,\ l,\ un)}
\DoxyCodeLine{01012\ \ \ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{01013\ \ \ \ \ \ \ \ \ \ \ \ \ \ \_print\_variant(un);}
\DoxyCodeLine{01014\ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{01015\ \ \ \ \ \ \}}
\DoxyCodeLine{01016\ }
\DoxyCodeLine{01017\ \ \ \ printf(\textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
\DoxyCodeLine{01018\ }
\DoxyCodeLine{01019\ \ \ \ \textcolor{keywordflow}{if}\ (!\_data\_save(data\_lists,\ argv[2]))}
\DoxyCodeLine{01020\ \ \ \ \ \ ret\ =\ -\/3;}
\DoxyCodeLine{01021\ }
\DoxyCodeLine{01022\ \ \ \ \_data\_free(data\_lists);}
\DoxyCodeLine{01023\ }
\DoxyCodeLine{01024\ end:}
\DoxyCodeLine{01025\ \ \ \ \textcolor{keywordflow}{if}\ (\_cache\_file)}
\DoxyCodeLine{01026\ \ \ \ \ \ \mbox{\hyperlink{group__Eet__File__Group_ga1675fef1f6012c1e02ae313d13dc3e03}{eet\_close}}(\_cache\_file);}
\DoxyCodeLine{01027\ \ \ \ \_data\_descriptors\_shutdown();}
\DoxyCodeLine{01028\ \ \ \ \mbox{\hyperlink{group__Eet__Group_gacbc7583179399d3b3e7b003e911f866f}{eet\_shutdown}}();}
\DoxyCodeLine{01029\ \ \ \ \mbox{\hyperlink{group__Eina__Main__Group_ga5bf35513199d5220341437c05696285d}{eina\_shutdown}}();}
\DoxyCodeLine{01030\ }
\DoxyCodeLine{01031\ \ \ \ \textcolor{keywordflow}{return}\ ret;}
\DoxyCodeLine{01032\ \}\ \textcolor{comment}{/*\ main\ */}}
\DoxyCodeLine{01033\ }

\end{DoxyCodeInclude}
 