\hypertarget{group__Edje__Object__Communication__Interface__Signal}{\section{Edje Communication Interface\-: Signal}
\label{group__Edje__Object__Communication__Interface__Signal}\index{Edje Communication Interface\-: Signal@{Edje Communication Interface\-: Signal}}
}


Functions that deal with signals.  


\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef void($\ast$ \hyperlink{group__Edje__Object__Communication__Interface__Signal_ga678b49d17da2ad0385b8855fef35cdd4}{Edje\-\_\-\-Signal\-\_\-\-Cb} )(void $\ast$data, \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\-\_\-\-Object} $\ast$obj, const char $\ast$emission, const char $\ast$source)
\begin{DoxyCompactList}\small\item\em Edje signal callback functions's prototype definition. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void $\ast$ \hyperlink{group__Edje__Object__Communication__Interface__Signal_ga9b02f874ca39b810f262881c9fe1b6c2}{edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-extra\-\_\-data\-\_\-get} (void)
\begin{DoxyCompactList}\small\item\em Get extra data passed to callbacks. \end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{DoxyCompactItemize}
\item 
\#define \hyperlink{group__Edje__Object__Communication__Interface__Signal_gac73f5a119615358fbe2c0ec357917f43}{edje\-\_\-obj\-\_\-signal\-\_\-callback\-\_\-add}(emission, source, func, data)~E\-D\-J\-E\-\_\-\-O\-B\-J\-\_\-\-I\-D(E\-D\-J\-E\-\_\-\-O\-B\-J\-\_\-\-S\-U\-B\-\_\-\-I\-D\-\_\-\-S\-I\-G\-N\-A\-L\-\_\-\-C\-A\-L\-L\-B\-A\-C\-K\-\_\-\-A\-D\-D), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const char $\ast$, emission), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const char $\ast$, source), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(\hyperlink{group__Edje__Object__Communication__Interface__Signal_ga678b49d17da2ad0385b8855fef35cdd4}{Edje\-\_\-\-Signal\-\_\-\-Cb}, func), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(void $\ast$, data)
\begin{DoxyCompactList}\small\item\em Add a callback for an arriving Edje signal, emitted by a given Ejde object. \end{DoxyCompactList}\item 
\#define \hyperlink{group__Edje__Object__Communication__Interface__Signal_ga11ec69008449397b1bfc1a680739b145}{edje\-\_\-obj\-\_\-signal\-\_\-callback\-\_\-del}(emission, source, func, data, ret)~E\-D\-J\-E\-\_\-\-O\-B\-J\-\_\-\-I\-D(E\-D\-J\-E\-\_\-\-O\-B\-J\-\_\-\-S\-U\-B\-\_\-\-I\-D\-\_\-\-S\-I\-G\-N\-A\-L\-\_\-\-C\-A\-L\-L\-B\-A\-C\-K\-\_\-\-D\-E\-L), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const char $\ast$, emission), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const char $\ast$, source), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(\hyperlink{group__Edje__Object__Communication__Interface__Signal_ga678b49d17da2ad0385b8855fef35cdd4}{Edje\-\_\-\-Signal\-\_\-\-Cb}, func), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(void $\ast$, data), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(void $\ast$$\ast$, ret)
\begin{DoxyCompactList}\small\item\em Remove a signal-\/triggered callback from an object. \end{DoxyCompactList}\item 
\#define \hyperlink{group__Edje__Object__Communication__Interface__Signal_gaf2634d25ccb90203f3091f54b4b6e304}{edje\-\_\-obj\-\_\-signal\-\_\-emit}(emission, source)~E\-D\-J\-E\-\_\-\-O\-B\-J\-\_\-\-I\-D(E\-D\-J\-E\-\_\-\-O\-B\-J\-\_\-\-S\-U\-B\-\_\-\-I\-D\-\_\-\-S\-I\-G\-N\-A\-L\-\_\-\-E\-M\-I\-T), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const char $\ast$, emission), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const char $\ast$, source)
\begin{DoxyCompactList}\small\item\em Send/emit an Edje signal to a given Edje object. \end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{group__Edje__Object__Communication__Interface__Signal_gab7a1542309f1ffdc76c07f280842d4b1}{edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-add} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\-\_\-\-Object} $\ast$obj, const char $\ast$emission, const char $\ast$source, \hyperlink{group__Edje__Object__Communication__Interface__Signal_ga678b49d17da2ad0385b8855fef35cdd4}{Edje\-\_\-\-Signal\-\_\-\-Cb} func, void $\ast$data)
\begin{DoxyCompactList}\small\item\em Add a callback for an arriving Edje signal, emitted by a given Edje object. \end{DoxyCompactList}\item 
void $\ast$ \hyperlink{group__Edje__Object__Communication__Interface__Signal_ga21ae466ebe0644af88bcdae08d9431c6}{edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-del} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\-\_\-\-Object} $\ast$obj, const char $\ast$emission, const char $\ast$source, \hyperlink{group__Edje__Object__Communication__Interface__Signal_ga678b49d17da2ad0385b8855fef35cdd4}{Edje\-\_\-\-Signal\-\_\-\-Cb} func)
\begin{DoxyCompactList}\small\item\em Remove a signal-\/triggered callback from an object. \end{DoxyCompactList}\item 
void $\ast$ \hyperlink{group__Edje__Object__Communication__Interface__Signal_gac4fd4d7c613d4714d7788b3cd8b14c93}{edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-del\-\_\-full} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\-\_\-\-Object} $\ast$obj, const char $\ast$emission, const char $\ast$source, \hyperlink{group__Edje__Object__Communication__Interface__Signal_ga678b49d17da2ad0385b8855fef35cdd4}{Edje\-\_\-\-Signal\-\_\-\-Cb} func, void $\ast$data)
\begin{DoxyCompactList}\small\item\em Unregister/delete a callback set for an arriving Edje signal, emitted by a given Edje object. \end{DoxyCompactList}\item 
void \hyperlink{group__Edje__Object__Communication__Interface__Signal_ga2a6422befdfb9c9757414122ff23cb8e}{edje\-\_\-object\-\_\-signal\-\_\-emit} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\-\_\-\-Object} $\ast$obj, const char $\ast$emission, const char $\ast$source)
\begin{DoxyCompactList}\small\item\em Send/emit an Edje signal to a given Edje object. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Functions that deal with signals. Edje has two communication interfaces between {\bfseries code} and {\bfseries theme}. Signals and messages.

This group has functions that deal with signals. One can either emit a signal from {\bfseries code} to a {\bfseries theme} or create handles for the ones emitted from {\bfseries themes}. Signals are identified by strings. 

\subsection{Macro Definition Documentation}
\hypertarget{group__Edje__Object__Communication__Interface__Signal_gac73f5a119615358fbe2c0ec357917f43}{\index{Edje Communication Interface\-: Signal@{Edje Communication Interface\-: Signal}!edje\-\_\-obj\-\_\-signal\-\_\-callback\-\_\-add@{edje\-\_\-obj\-\_\-signal\-\_\-callback\-\_\-add}}
\index{edje\-\_\-obj\-\_\-signal\-\_\-callback\-\_\-add@{edje\-\_\-obj\-\_\-signal\-\_\-callback\-\_\-add}!Edje Communication Interface: Signal@{Edje Communication Interface\-: Signal}}
\subsubsection[{edje\-\_\-obj\-\_\-signal\-\_\-callback\-\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}\#define edje\-\_\-obj\-\_\-signal\-\_\-callback\-\_\-add(
\begin{DoxyParamCaption}
\item[{}]{emission, }
\item[{}]{source, }
\item[{}]{func, }
\item[{}]{data}
\end{DoxyParamCaption}
)~E\-D\-J\-E\-\_\-\-O\-B\-J\-\_\-\-I\-D(E\-D\-J\-E\-\_\-\-O\-B\-J\-\_\-\-S\-U\-B\-\_\-\-I\-D\-\_\-\-S\-I\-G\-N\-A\-L\-\_\-\-C\-A\-L\-L\-B\-A\-C\-K\-\_\-\-A\-D\-D), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const char $\ast$, emission), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const char $\ast$, source), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K({\bf Edje\-\_\-\-Signal\-\_\-\-Cb}, func), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(void $\ast$, data)}}\label{group__Edje__Object__Communication__Interface__Signal_gac73f5a119615358fbe2c0ec357917f43}


Add a callback for an arriving Edje signal, emitted by a given Ejde object. 

\begin{DoxySince}{Since}
1.\-8
\end{DoxySince}

\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em emission} & \\
\hline
\mbox{\tt in}  & {\em source} & \\
\hline
\mbox{\tt in}  & {\em func} & \\
\hline
\mbox{\tt in}  & {\em data} & \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Edje__Object__Communication__Interface__Signal_gab7a1542309f1ffdc76c07f280842d4b1}{edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-add} 
\end{DoxySeeAlso}
\hypertarget{group__Edje__Object__Communication__Interface__Signal_ga11ec69008449397b1bfc1a680739b145}{\index{Edje Communication Interface\-: Signal@{Edje Communication Interface\-: Signal}!edje\-\_\-obj\-\_\-signal\-\_\-callback\-\_\-del@{edje\-\_\-obj\-\_\-signal\-\_\-callback\-\_\-del}}
\index{edje\-\_\-obj\-\_\-signal\-\_\-callback\-\_\-del@{edje\-\_\-obj\-\_\-signal\-\_\-callback\-\_\-del}!Edje Communication Interface: Signal@{Edje Communication Interface\-: Signal}}
\subsubsection[{edje\-\_\-obj\-\_\-signal\-\_\-callback\-\_\-del}]{\setlength{\rightskip}{0pt plus 5cm}\#define edje\-\_\-obj\-\_\-signal\-\_\-callback\-\_\-del(
\begin{DoxyParamCaption}
\item[{}]{emission, }
\item[{}]{source, }
\item[{}]{func, }
\item[{}]{data, }
\item[{}]{ret}
\end{DoxyParamCaption}
)~E\-D\-J\-E\-\_\-\-O\-B\-J\-\_\-\-I\-D(E\-D\-J\-E\-\_\-\-O\-B\-J\-\_\-\-S\-U\-B\-\_\-\-I\-D\-\_\-\-S\-I\-G\-N\-A\-L\-\_\-\-C\-A\-L\-L\-B\-A\-C\-K\-\_\-\-D\-E\-L), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const char $\ast$, emission), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const char $\ast$, source), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K({\bf Edje\-\_\-\-Signal\-\_\-\-Cb}, func), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(void $\ast$, data), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(void $\ast$$\ast$, ret)}}\label{group__Edje__Object__Communication__Interface__Signal_ga11ec69008449397b1bfc1a680739b145}


Remove a signal-\/triggered callback from an object. 

\begin{DoxySince}{Since}
1.\-8
\end{DoxySince}

\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em emission} & \\
\hline
\mbox{\tt in}  & {\em source} & \\
\hline
\mbox{\tt in}  & {\em func} & \\
\hline
\mbox{\tt in}  & {\em data} & \\
\hline
\mbox{\tt out}  & {\em ret} & \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Edje__Object__Communication__Interface__Signal_ga21ae466ebe0644af88bcdae08d9431c6}{edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-del} 
\end{DoxySeeAlso}


Referenced by edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-del\-\_\-full().

\hypertarget{group__Edje__Object__Communication__Interface__Signal_gaf2634d25ccb90203f3091f54b4b6e304}{\index{Edje Communication Interface\-: Signal@{Edje Communication Interface\-: Signal}!edje\-\_\-obj\-\_\-signal\-\_\-emit@{edje\-\_\-obj\-\_\-signal\-\_\-emit}}
\index{edje\-\_\-obj\-\_\-signal\-\_\-emit@{edje\-\_\-obj\-\_\-signal\-\_\-emit}!Edje Communication Interface: Signal@{Edje Communication Interface\-: Signal}}
\subsubsection[{edje\-\_\-obj\-\_\-signal\-\_\-emit}]{\setlength{\rightskip}{0pt plus 5cm}\#define edje\-\_\-obj\-\_\-signal\-\_\-emit(
\begin{DoxyParamCaption}
\item[{}]{emission, }
\item[{}]{source}
\end{DoxyParamCaption}
)~E\-D\-J\-E\-\_\-\-O\-B\-J\-\_\-\-I\-D(E\-D\-J\-E\-\_\-\-O\-B\-J\-\_\-\-S\-U\-B\-\_\-\-I\-D\-\_\-\-S\-I\-G\-N\-A\-L\-\_\-\-E\-M\-I\-T), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const char $\ast$, emission), E\-O\-\_\-\-T\-Y\-P\-E\-C\-H\-E\-C\-K(const char $\ast$, source)}}\label{group__Edje__Object__Communication__Interface__Signal_gaf2634d25ccb90203f3091f54b4b6e304}


Send/emit an Edje signal to a given Edje object. 

\begin{DoxySince}{Since}
1.\-8
\end{DoxySince}

\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em emission} & \\
\hline
\mbox{\tt in}  & {\em source} & \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Edje__Object__Communication__Interface__Signal_ga2a6422befdfb9c9757414122ff23cb8e}{edje\-\_\-object\-\_\-signal\-\_\-emit} 
\end{DoxySeeAlso}


Referenced by edje\-\_\-object\-\_\-signal\-\_\-emit().



\subsection{Typedef Documentation}
\hypertarget{group__Edje__Object__Communication__Interface__Signal_ga678b49d17da2ad0385b8855fef35cdd4}{\index{Edje Communication Interface\-: Signal@{Edje Communication Interface\-: Signal}!Edje\-\_\-\-Signal\-\_\-\-Cb@{Edje\-\_\-\-Signal\-\_\-\-Cb}}
\index{Edje\-\_\-\-Signal\-\_\-\-Cb@{Edje\-\_\-\-Signal\-\_\-\-Cb}!Edje Communication Interface: Signal@{Edje Communication Interface\-: Signal}}
\subsubsection[{Edje\-\_\-\-Signal\-\_\-\-Cb}]{\setlength{\rightskip}{0pt plus 5cm}typedef void($\ast$ Edje\-\_\-\-Signal\-\_\-\-Cb)(void $\ast$data, {\bf Evas\-\_\-\-Object} $\ast$obj, const char $\ast$emission, const char $\ast$source)}}\label{group__Edje__Object__Communication__Interface__Signal_ga678b49d17da2ad0385b8855fef35cdd4}


Edje signal callback functions's prototype definition. 

{\ttfamily data} will have the auxiliary data pointer set at the time the callback registration. {\ttfamily obj} will be a pointer the Edje object where the signal comes from. {\ttfamily emission} will identify the exact signal's emission string and {\ttfamily source} the exact signal's source one. \begin{Desc}
\item[Examples\-: ]\par
\hyperlink{edje-color-class_8c-example}{edje-\/color-\/class.\-c}.\end{Desc}


\subsection{Function Documentation}
\hypertarget{group__Edje__Object__Communication__Interface__Signal_ga9b02f874ca39b810f262881c9fe1b6c2}{\index{Edje Communication Interface\-: Signal@{Edje Communication Interface\-: Signal}!edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-extra\-\_\-data\-\_\-get@{edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-extra\-\_\-data\-\_\-get}}
\index{edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-extra\-\_\-data\-\_\-get@{edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-extra\-\_\-data\-\_\-get}!Edje Communication Interface: Signal@{Edje Communication Interface\-: Signal}}
\subsubsection[{edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-extra\-\_\-data\-\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-extra\-\_\-data\-\_\-get (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}\label{group__Edje__Object__Communication__Interface__Signal_ga9b02f874ca39b810f262881c9fe1b6c2}


Get extra data passed to callbacks. 

\begin{DoxyReturn}{Returns}
the extra data for that callback.
\end{DoxyReturn}
Some callbacks pass extra information. This function gives access to that extra information. It's somehow like event\-\_\-info in smart callbacks.

\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Edje__Object__Communication__Interface__Signal_gab7a1542309f1ffdc76c07f280842d4b1}{edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-add()} for more on \hyperlink{group__Edje}{Edje} signals. 
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\-1.\-0 
\end{DoxySince}
\hypertarget{group__Edje__Object__Communication__Interface__Signal_gab7a1542309f1ffdc76c07f280842d4b1}{\index{Edje Communication Interface\-: Signal@{Edje Communication Interface\-: Signal}!edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-add@{edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-add}}
\index{edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-add@{edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-add}!Edje Communication Interface: Signal@{Edje Communication Interface\-: Signal}}
\subsubsection[{edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}void edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-add (
\begin{DoxyParamCaption}
\item[{{\bf Evas\-\_\-\-Object} $\ast$}]{obj, }
\item[{const char $\ast$}]{emission, }
\item[{const char $\ast$}]{source, }
\item[{{\bf Edje\-\_\-\-Signal\-\_\-\-Cb}}]{func, }
\item[{void $\ast$}]{data}
\end{DoxyParamCaption}
)}}\label{group__Edje__Object__Communication__Interface__Signal_gab7a1542309f1ffdc76c07f280842d4b1}


Add a callback for an arriving Edje signal, emitted by a given Edje object. 


\begin{DoxyParams}{Parameters}
{\em obj} & A handle to an Edje object \\
\hline
{\em emission} & The signal's \char`\"{}emission\char`\"{} string \\
\hline
{\em source} & The signal's \char`\"{}source\char`\"{} string \\
\hline
{\em func} & The callback function to be executed when the signal is emitted. \\
\hline
{\em data} & A pointer to data to pass in to {\ttfamily func}.\\
\hline
\end{DoxyParams}
Edje signals are one of the communication interfaces between {\bfseries code} and a given Edje object's {\bfseries theme}. With signals, one can communicate two string values at a time, which are\-:
\begin{DoxyItemize}
\item \char`\"{}emission\char`\"{} value\-: the name of the signal, in general
\item \char`\"{}source\char`\"{} value\-: a name for the signal's context, in general
\end{DoxyItemize}

Though there are those common uses for the two strings, one is free to use them however they like.

This function adds a callback function to a signal emitted by {\itshape obj}, to be issued every time an E\-D\-C program like the following 
\begin{DoxyCode}
program \{
  name: \textcolor{stringliteral}{"emit\_example"};
  action: SIGNAL\_EMIT \textcolor{stringliteral}{"a\_signal"} \textcolor{stringliteral}{"a\_source"};
\}
\end{DoxyCode}
 is run, if {\ttfamily emission} and {\ttfamily source} are given those same values, here.

Signal callback registration is powerful, in the way that {\bfseries blobs} may be used to match {\bfseries multiple signals at once}. All the {\ttfamily \char`\"{}$\ast$?\mbox{[}\textbackslash{}\char`\"{}} set of {\ttfamily fnmatch()} operators can be used, both for {\ttfamily emission} and {\ttfamily source}.

Edje has {\bfseries internal} signals it will emit, automatically, on various actions taking place on group parts. For example, the mouse cursor being moved, pressed, released, etc., over a given part's area, all generate individual signals.

By using something like 
\begin{DoxyCode}
\hyperlink{group__Edje__Object__Communication__Interface__Signal_gab7a1542309f1ffdc76c07f280842d4b1}{edje\_object\_signal\_callback\_add}(obj, \textcolor{stringliteral}{"mouse,down,*"}, \textcolor{stringliteral}{"button.*"},
                                signal\_cb, NULL);
\end{DoxyCode}
 being {\ttfamily \char`\"{}button.$\ast$\char`\"{}} the pattern for the names of parts implementing buttons on an interface, you'd be registering for notifications on events of mouse buttons being pressed down on either of those parts (those events all have the {\ttfamily \char`\"{}mouse,down,\char`\"{}} common prefix on their names, with a suffix giving the button number). The actual emission and source strings of an event will be passed in as the {\itshape emission} and {\itshape source} parameters of the callback function (e.\-g. {\ttfamily \char`\"{}mouse,down,2\char`\"{}} and {\ttfamily \char`\"{}button.\-close\char`\"{}}), for each of those events.

\begin{DoxyNote}{Note}
See \hyperlink{edcref}{the syntax} for E\-D\-C files 
\end{DoxyNote}
\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Edje__Object__Communication__Interface__Signal_ga2a6422befdfb9c9757414122ff23cb8e}{edje\-\_\-object\-\_\-signal\-\_\-emit()} on how to emits \hyperlink{group__Edje}{Edje} signals from code to a an object 

\hyperlink{group__Edje__Object__Communication__Interface__Signal_gac4fd4d7c613d4714d7788b3cd8b14c93}{edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-del\-\_\-full()} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\-: ]\par
\hyperlink{edje-color-class_8c-example}{edje-\/color-\/class.\-c}, \hyperlink{edje-drag_8c-example}{edje-\/drag.\-c}, \hyperlink{edje-perspective_8c-example}{edje-\/perspective.\-c}, and \hyperlink{edje-signals-messages_8c-example}{edje-\/signals-\/messages.\-c}.\end{Desc}
\hypertarget{group__Edje__Object__Communication__Interface__Signal_ga21ae466ebe0644af88bcdae08d9431c6}{\index{Edje Communication Interface\-: Signal@{Edje Communication Interface\-: Signal}!edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-del@{edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-del}}
\index{edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-del@{edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-del}!Edje Communication Interface: Signal@{Edje Communication Interface\-: Signal}}
\subsubsection[{edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-del}]{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-del (
\begin{DoxyParamCaption}
\item[{{\bf Evas\-\_\-\-Object} $\ast$}]{obj, }
\item[{const char $\ast$}]{emission, }
\item[{const char $\ast$}]{source, }
\item[{{\bf Edje\-\_\-\-Signal\-\_\-\-Cb}}]{func}
\end{DoxyParamCaption}
)}}\label{group__Edje__Object__Communication__Interface__Signal_ga21ae466ebe0644af88bcdae08d9431c6}


Remove a signal-\/triggered callback from an object. 


\begin{DoxyParams}{Parameters}
{\em obj} & A valid Evas\-\_\-\-Object handle. \\
\hline
{\em emission} & The emission string. \\
\hline
{\em source} & The source string. \\
\hline
{\em func} & The callback function. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The data pointer
\end{DoxyReturn}
This function removes a callback, previously attached to the emittion of a signal, from the object {\itshape obj}. The parameters {\itshape emission}, {\itshape source} and {\itshape func} must match exactly those passed to a previous call to \hyperlink{group__Edje__Object__Communication__Interface__Signal_gab7a1542309f1ffdc76c07f280842d4b1}{edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-add()}. The data pointer that was passed to this call will be returned.

\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Edje__Object__Communication__Interface__Signal_gab7a1542309f1ffdc76c07f280842d4b1}{edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-add()}. 

\hyperlink{group__Edje__Object__Communication__Interface__Signal_gac4fd4d7c613d4714d7788b3cd8b14c93}{edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-del\-\_\-full()}. 
\end{DoxySeeAlso}
\hypertarget{group__Edje__Object__Communication__Interface__Signal_gac4fd4d7c613d4714d7788b3cd8b14c93}{\index{Edje Communication Interface\-: Signal@{Edje Communication Interface\-: Signal}!edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-del\-\_\-full@{edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-del\-\_\-full}}
\index{edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-del\-\_\-full@{edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-del\-\_\-full}!Edje Communication Interface: Signal@{Edje Communication Interface\-: Signal}}
\subsubsection[{edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-del\-\_\-full}]{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-del\-\_\-full (
\begin{DoxyParamCaption}
\item[{{\bf Evas\-\_\-\-Object} $\ast$}]{obj, }
\item[{const char $\ast$}]{emission, }
\item[{const char $\ast$}]{source, }
\item[{{\bf Edje\-\_\-\-Signal\-\_\-\-Cb}}]{func, }
\item[{void $\ast$}]{data}
\end{DoxyParamCaption}
)}}\label{group__Edje__Object__Communication__Interface__Signal_gac4fd4d7c613d4714d7788b3cd8b14c93}


Unregister/delete a callback set for an arriving Edje signal, emitted by a given Edje object. 


\begin{DoxyParams}{Parameters}
{\em obj} & A handle to an Edje object \\
\hline
{\em emission} & The signal's \char`\"{}emission\char`\"{} string \\
\hline
{\em source} & The signal's \char`\"{}source\char`\"{} string \\
\hline
{\em func} & The callback function passed on the callback's registration \\
\hline
{\em data} & The pointer given to be passed as data to {\ttfamily func} \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily data}, on success or {\ttfamily N\-U\-L\-L}, on errors (or if {\ttfamily data} had this value)
\end{DoxyReturn}
This function removes a callback, previously attached to the emittion of a signal, from the object {\itshape obj}. The parameters {\itshape emission}, {\itshape source}, {\itshape func} and {\itshape data} must match exactly those passed to a previous call to \hyperlink{group__Edje__Object__Communication__Interface__Signal_gab7a1542309f1ffdc76c07f280842d4b1}{edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-add()}. The data pointer that was passed to this call will be returned.

\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Edje__Object__Communication__Interface__Signal_gab7a1542309f1ffdc76c07f280842d4b1}{edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-add()}. 

\hyperlink{group__Edje__Object__Communication__Interface__Signal_ga21ae466ebe0644af88bcdae08d9431c6}{edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-del()}. 
\end{DoxySeeAlso}


References edje\-\_\-obj\-\_\-signal\-\_\-callback\-\_\-del.

\hypertarget{group__Edje__Object__Communication__Interface__Signal_ga2a6422befdfb9c9757414122ff23cb8e}{\index{Edje Communication Interface\-: Signal@{Edje Communication Interface\-: Signal}!edje\-\_\-object\-\_\-signal\-\_\-emit@{edje\-\_\-object\-\_\-signal\-\_\-emit}}
\index{edje\-\_\-object\-\_\-signal\-\_\-emit@{edje\-\_\-object\-\_\-signal\-\_\-emit}!Edje Communication Interface: Signal@{Edje Communication Interface\-: Signal}}
\subsubsection[{edje\-\_\-object\-\_\-signal\-\_\-emit}]{\setlength{\rightskip}{0pt plus 5cm}void edje\-\_\-object\-\_\-signal\-\_\-emit (
\begin{DoxyParamCaption}
\item[{{\bf Evas\-\_\-\-Object} $\ast$}]{obj, }
\item[{const char $\ast$}]{emission, }
\item[{const char $\ast$}]{source}
\end{DoxyParamCaption}
)}}\label{group__Edje__Object__Communication__Interface__Signal_ga2a6422befdfb9c9757414122ff23cb8e}


Send/emit an Edje signal to a given Edje object. 


\begin{DoxyParams}{Parameters}
{\em obj} & A handle to an Edje object \\
\hline
{\em emission} & The signal's \char`\"{}emission\char`\"{} string \\
\hline
{\em source} & The signal's \char`\"{}source\char`\"{} string\\
\hline
\end{DoxyParams}
This function sends a signal to the object {\itshape obj}. An Edje program, at {\ttfamily obj's} E\-D\-C specification level, can respond to a signal by having declared matching {\ttfamily 'signal'} and {\ttfamily 'source'} fields on its block (see \hyperlink{edcref}{the syntax} for E\-D\-C files).

As an example, 
\begin{DoxyCode}
\hyperlink{group__Edje__Object__Communication__Interface__Signal_ga2a6422befdfb9c9757414122ff23cb8e}{edje\_object\_signal\_emit}(obj, \textcolor{stringliteral}{"a\_signal"}, \textcolor{stringliteral}{""});
\end{DoxyCode}
 would trigger a program which had an E\-D\-C declaration block like 
\begin{DoxyCode}
program \{
 name: \textcolor{stringliteral}{"a\_program"};
 signal: \textcolor{stringliteral}{"a\_signal"};
 source: \textcolor{stringliteral}{""};
 action: ...
\}
\end{DoxyCode}


\begin{DoxySeeAlso}{See Also}
\hyperlink{group__Edje__Object__Communication__Interface__Signal_gab7a1542309f1ffdc76c07f280842d4b1}{edje\-\_\-object\-\_\-signal\-\_\-callback\-\_\-add()} for more on \hyperlink{group__Edje}{Edje} signals. 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\-: ]\par
\hyperlink{edje-perspective_8c-example}{edje-\/perspective.\-c}, and \hyperlink{edje-signals-messages_8c-example}{edje-\/signals-\/messages.\-c}.\end{Desc}


References edje\-\_\-obj\-\_\-signal\-\_\-emit.

