\hypertarget{nnstreamer__subplugin_8h}{}\doxysection{nnstreamer/nnstreamer\+\_\+subplugin.h File Reference}
\label{nnstreamer__subplugin_8h}\index{nnstreamer/nnstreamer\_subplugin.h@{nnstreamer/nnstreamer\_subplugin.h}}


Subplugin Manager for N\+N\+Streamer.  


{\ttfamily \#include $<$stdint.\+h$>$}\newline
{\ttfamily \#include \char`\"{}nnstreamer\+\_\+conf.\+h\char`\"{}}\newline
Include dependency graph for nnstreamer\+\_\+subplugin.\+h\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=258pt]{nnstreamer__subplugin_8h__incl}
\end{center}
\end{figure}
This graph shows which files directly or indirectly include this file\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__subplugin_8h__dep__incl}
\end{center}
\end{figure}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{nnstreamer__subplugin_8h_a70de2144f8fd4f67655df101eaa9cc22}{N\+N\+S\+\_\+\+S\+U\+B\+P\+L\+U\+G\+I\+N\+\_\+\+C\+H\+E\+C\+K\+ER}}~(0xdeadbeef)
\end{DoxyCompactItemize}
\doxysubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060}{subplugin\+Type}} \{ \newline
\mbox{\hyperlink{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060a49c348a060a53415471e70d0cc3f6bab}{N\+N\+S\+\_\+\+S\+U\+B\+P\+L\+U\+G\+I\+N\+\_\+\+F\+I\+L\+T\+ER}} = N\+N\+S\+C\+O\+N\+F\+\_\+\+P\+A\+T\+H\+\_\+\+F\+I\+L\+T\+E\+RS, 
\mbox{\hyperlink{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060affa3fdf95abbbadf8bf43aea026db9ad}{N\+N\+S\+\_\+\+S\+U\+B\+P\+L\+U\+G\+I\+N\+\_\+\+D\+E\+C\+O\+D\+ER}} = N\+N\+S\+C\+O\+N\+F\+\_\+\+P\+A\+T\+H\+\_\+\+D\+E\+C\+O\+D\+E\+RS, 
\mbox{\hyperlink{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060ac71634b380c535008e1bcca78e8b4f52}{N\+N\+S\+\_\+\+E\+A\+S\+Y\+\_\+\+C\+U\+S\+T\+O\+M\+\_\+\+F\+I\+L\+T\+ER}} = N\+N\+S\+C\+O\+N\+F\+\_\+\+P\+A\+T\+H\+\_\+\+E\+A\+S\+Y\+\_\+\+C\+U\+S\+T\+O\+M\+\_\+\+F\+I\+L\+T\+E\+RS, 
\mbox{\hyperlink{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060a6f487ea8243f9ab8c838d003d3783f52}{N\+N\+S\+\_\+\+S\+U\+B\+P\+L\+U\+G\+I\+N\+\_\+\+C\+O\+N\+V\+E\+R\+T\+ER}} = N\+N\+S\+C\+O\+N\+F\+\_\+\+P\+A\+T\+H\+\_\+\+C\+O\+N\+V\+E\+R\+T\+E\+RS, 
\newline
\mbox{\hyperlink{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060aa43ed85d3788d4fa19102196a6efea1f}{N\+N\+S\+\_\+\+S\+U\+B\+P\+L\+U\+G\+I\+N\+\_\+\+T\+R\+A\+I\+N\+ER}} = N\+N\+S\+C\+O\+N\+F\+\_\+\+P\+A\+T\+H\+\_\+\+T\+R\+A\+I\+N\+E\+RS, 
\mbox{\hyperlink{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060aba8fabaaf98fe9e9f9c34d5a54f3dec6}{N\+N\+S\+\_\+\+C\+U\+S\+T\+O\+M\+\_\+\+C\+O\+N\+V\+E\+R\+T\+ER}}, 
\mbox{\hyperlink{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060af60dc45df7d07756bd520b549a6c90dd}{N\+N\+S\+\_\+\+C\+U\+S\+T\+O\+M\+\_\+\+D\+E\+C\+O\+D\+ER}}, 
\mbox{\hyperlink{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060a8783ec0fd48caa402ae0a6d0feb23b16}{N\+N\+S\+\_\+\+I\+F\+\_\+\+C\+U\+S\+T\+OM}}, 
\newline
\mbox{\hyperlink{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060a5eda195c37309124e7ab9861887fc553}{N\+N\+S\+\_\+\+S\+U\+B\+P\+L\+U\+G\+I\+N\+\_\+\+E\+ND}}
 \}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
const void $\ast$ \mbox{\hyperlink{nnstreamer__subplugin_8h_a9a9749415079f97324f49974a78c2a75}{get\+\_\+subplugin}} (\mbox{\hyperlink{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060}{subplugin\+Type}} \mbox{\hyperlink{gsttensor__if_8c_ae3c4ba0b643db0fa0b5b96496abd1803}{type}}, const char $\ast$name)
\begin{DoxyCompactList}\small\item\em Retrieve the registered data with the subplugin name. \end{DoxyCompactList}\item 
gchar $\ast$$\ast$ \mbox{\hyperlink{nnstreamer__subplugin_8h_a9a49cd912879fbdf703cdeb1da5f4331}{get\+\_\+all\+\_\+subplugins}} (\mbox{\hyperlink{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060}{subplugin\+Type}} \mbox{\hyperlink{gsttensor__if_8c_ae3c4ba0b643db0fa0b5b96496abd1803}{type}})
\begin{DoxyCompactList}\small\item\em Get the list of registered subplugins. \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{nnstreamer__subplugin_8h_a5942f0329fe7602e106458d69a9a477f}{register\+\_\+subplugin}} (\mbox{\hyperlink{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060}{subplugin\+Type}} \mbox{\hyperlink{gsttensor__if_8c_ae3c4ba0b643db0fa0b5b96496abd1803}{type}}, const char $\ast$name, const void $\ast$\mbox{\hyperlink{gsttensor__if_8c_a3c9cc8d6e8da85fef51da4c7115b97f6}{data}})
\begin{DoxyCompactList}\small\item\em Register the subplugin. If duplicated name exists, it is rejected. \end{DoxyCompactList}\item 
gboolean \mbox{\hyperlink{nnstreamer__subplugin_8h_a80d306e6bc53a126f715ca4c531d9a7d}{unregister\+\_\+subplugin}} (\mbox{\hyperlink{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060}{subplugin\+Type}} \mbox{\hyperlink{gsttensor__if_8c_ae3c4ba0b643db0fa0b5b96496abd1803}{type}}, const char $\ast$name)
\begin{DoxyCompactList}\small\item\em Unregister the subplugin. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{nnstreamer__subplugin_8h_a3e7200a364bb55b2d7e49f898682c9e3}{subplugin\+\_\+set\+\_\+custom\+\_\+property\+\_\+desc}} (\mbox{\hyperlink{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060}{subplugin\+Type}} \mbox{\hyperlink{gsttensor__if_8c_ae3c4ba0b643db0fa0b5b96496abd1803}{type}}, const char $\ast$name, const gchar $\ast$\mbox{\hyperlink{gsttensor__srciio_8c_ad143acf0919ab4b62947be3f2f168a91}{prop}}, va\+\_\+list varargs)
\begin{DoxyCompactList}\small\item\em common interface to set custom property description of a sub-\/plugin. \end{DoxyCompactList}\item 
G\+Data $\ast$ \mbox{\hyperlink{nnstreamer__subplugin_8h_a25820d83c2db0d66da5664603d7590a1}{subplugin\+\_\+get\+\_\+custom\+\_\+property\+\_\+desc}} (\mbox{\hyperlink{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060}{subplugin\+Type}} \mbox{\hyperlink{gsttensor__if_8c_ae3c4ba0b643db0fa0b5b96496abd1803}{type}}, const char $\ast$name)
\begin{DoxyCompactList}\small\item\em common interface to get custom property description of a sub-\/plugin. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Subplugin Manager for N\+N\+Streamer. 

N\+N\+Streamer Subplugin Manager Copyright (C) 2018 Myung\+Joo Ham \href{mailto:myungjoo.ham@samsung.com}{\texttt{ myungjoo.\+ham@samsung.\+com}}

This library is free software; you can redistribute it and/or modify it under the terms of the G\+NU Library General Public License as published by the Free Software Foundation; version 2.\+1 of the License.

This library is distributed in the hope that it will be useful, but W\+I\+T\+H\+O\+UT A\+NY W\+A\+R\+R\+A\+N\+TY; without even the implied warranty of M\+E\+R\+C\+H\+A\+N\+T\+A\+B\+I\+L\+I\+TY or F\+I\+T\+N\+E\+SS F\+OR A P\+A\+R\+T\+I\+C\+U\+L\+AR P\+U\+R\+P\+O\+SE. See the G\+NU Library General Public License for more details.

\begin{DoxyDate}{Date}
27 Nov 2018 
\end{DoxyDate}
\begin{DoxySeeAlso}{See also}
\href{http://github.com/nnstreamer/nnstreamer}{\texttt{ http\+://github.\+com/nnstreamer/nnstreamer}} 
\end{DoxySeeAlso}
\begin{DoxyAuthor}{Author}
Myung\+Joo Ham \href{mailto:myungjoo.ham@samsung.com}{\texttt{ myungjoo.\+ham@samsung.\+com}} 
\end{DoxyAuthor}
\begin{DoxyRefDesc}{Bug}
\item[\mbox{\hyperlink{bug__bug000095}{Bug}}]No known bugs except for N\+YI items\end{DoxyRefDesc}


To Packagers\+:

This file is to be packaged as \char`\"{}devel\char`\"{} package for NN developers. (subplugin writers)

\begin{DoxyNote}{Note}
Any independent subplugin (existing as an independent .so) should call register\+\_\+subplugin () (or its wrapper) with the subplugin\textquotesingle{}s constructor function. 
\end{DoxyNote}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{nnstreamer__subplugin_8h_a70de2144f8fd4f67655df101eaa9cc22}\label{nnstreamer__subplugin_8h_a70de2144f8fd4f67655df101eaa9cc22}} 
\index{nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}!NNS\_SUBPLUGIN\_CHECKER@{NNS\_SUBPLUGIN\_CHECKER}}
\index{NNS\_SUBPLUGIN\_CHECKER@{NNS\_SUBPLUGIN\_CHECKER}!nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}}
\doxysubsubsection{\texorpdfstring{NNS\_SUBPLUGIN\_CHECKER}{NNS\_SUBPLUGIN\_CHECKER}}
{\footnotesize\ttfamily \#define N\+N\+S\+\_\+\+S\+U\+B\+P\+L\+U\+G\+I\+N\+\_\+\+C\+H\+E\+C\+K\+ER~(0xdeadbeef)}



Definition at line 53 of file nnstreamer\+\_\+subplugin.\+h.



\doxysubsection{Enumeration Type Documentation}
\mbox{\Hypertarget{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060}\label{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060}} 
\index{nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}!subpluginType@{subpluginType}}
\index{subpluginType@{subpluginType}!nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}}
\doxysubsubsection{\texorpdfstring{subpluginType}{subpluginType}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060}{subplugin\+Type}}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{NNS\_SUBPLUGIN\_FILTER@{NNS\_SUBPLUGIN\_FILTER}!nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}}\index{nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}!NNS\_SUBPLUGIN\_FILTER@{NNS\_SUBPLUGIN\_FILTER}}}\mbox{\Hypertarget{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060a49c348a060a53415471e70d0cc3f6bab}\label{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060a49c348a060a53415471e70d0cc3f6bab}} 
N\+N\+S\+\_\+\+S\+U\+B\+P\+L\+U\+G\+I\+N\+\_\+\+F\+I\+L\+T\+ER&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{NNS\_SUBPLUGIN\_DECODER@{NNS\_SUBPLUGIN\_DECODER}!nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}}\index{nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}!NNS\_SUBPLUGIN\_DECODER@{NNS\_SUBPLUGIN\_DECODER}}}\mbox{\Hypertarget{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060affa3fdf95abbbadf8bf43aea026db9ad}\label{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060affa3fdf95abbbadf8bf43aea026db9ad}} 
N\+N\+S\+\_\+\+S\+U\+B\+P\+L\+U\+G\+I\+N\+\_\+\+D\+E\+C\+O\+D\+ER&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{NNS\_EASY\_CUSTOM\_FILTER@{NNS\_EASY\_CUSTOM\_FILTER}!nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}}\index{nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}!NNS\_EASY\_CUSTOM\_FILTER@{NNS\_EASY\_CUSTOM\_FILTER}}}\mbox{\Hypertarget{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060ac71634b380c535008e1bcca78e8b4f52}\label{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060ac71634b380c535008e1bcca78e8b4f52}} 
N\+N\+S\+\_\+\+E\+A\+S\+Y\+\_\+\+C\+U\+S\+T\+O\+M\+\_\+\+F\+I\+L\+T\+ER&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{NNS\_SUBPLUGIN\_CONVERTER@{NNS\_SUBPLUGIN\_CONVERTER}!nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}}\index{nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}!NNS\_SUBPLUGIN\_CONVERTER@{NNS\_SUBPLUGIN\_CONVERTER}}}\mbox{\Hypertarget{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060a6f487ea8243f9ab8c838d003d3783f52}\label{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060a6f487ea8243f9ab8c838d003d3783f52}} 
N\+N\+S\+\_\+\+S\+U\+B\+P\+L\+U\+G\+I\+N\+\_\+\+C\+O\+N\+V\+E\+R\+T\+ER&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{NNS\_SUBPLUGIN\_TRAINER@{NNS\_SUBPLUGIN\_TRAINER}!nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}}\index{nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}!NNS\_SUBPLUGIN\_TRAINER@{NNS\_SUBPLUGIN\_TRAINER}}}\mbox{\Hypertarget{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060aa43ed85d3788d4fa19102196a6efea1f}\label{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060aa43ed85d3788d4fa19102196a6efea1f}} 
N\+N\+S\+\_\+\+S\+U\+B\+P\+L\+U\+G\+I\+N\+\_\+\+T\+R\+A\+I\+N\+ER&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{NNS\_CUSTOM\_CONVERTER@{NNS\_CUSTOM\_CONVERTER}!nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}}\index{nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}!NNS\_CUSTOM\_CONVERTER@{NNS\_CUSTOM\_CONVERTER}}}\mbox{\Hypertarget{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060aba8fabaaf98fe9e9f9c34d5a54f3dec6}\label{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060aba8fabaaf98fe9e9f9c34d5a54f3dec6}} 
N\+N\+S\+\_\+\+C\+U\+S\+T\+O\+M\+\_\+\+C\+O\+N\+V\+E\+R\+T\+ER&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{NNS\_CUSTOM\_DECODER@{NNS\_CUSTOM\_DECODER}!nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}}\index{nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}!NNS\_CUSTOM\_DECODER@{NNS\_CUSTOM\_DECODER}}}\mbox{\Hypertarget{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060af60dc45df7d07756bd520b549a6c90dd}\label{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060af60dc45df7d07756bd520b549a6c90dd}} 
N\+N\+S\+\_\+\+C\+U\+S\+T\+O\+M\+\_\+\+D\+E\+C\+O\+D\+ER&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{NNS\_IF\_CUSTOM@{NNS\_IF\_CUSTOM}!nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}}\index{nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}!NNS\_IF\_CUSTOM@{NNS\_IF\_CUSTOM}}}\mbox{\Hypertarget{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060a8783ec0fd48caa402ae0a6d0feb23b16}\label{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060a8783ec0fd48caa402ae0a6d0feb23b16}} 
N\+N\+S\+\_\+\+I\+F\+\_\+\+C\+U\+S\+T\+OM&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{NNS\_SUBPLUGIN\_END@{NNS\_SUBPLUGIN\_END}!nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}}\index{nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}!NNS\_SUBPLUGIN\_END@{NNS\_SUBPLUGIN\_END}}}\mbox{\Hypertarget{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060a5eda195c37309124e7ab9861887fc553}\label{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060a5eda195c37309124e7ab9861887fc553}} 
N\+N\+S\+\_\+\+S\+U\+B\+P\+L\+U\+G\+I\+N\+\_\+\+E\+ND&\\
\hline

\end{DoxyEnumFields}


Definition at line 40 of file nnstreamer\+\_\+subplugin.\+h.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{nnstreamer__subplugin_8h_a9a49cd912879fbdf703cdeb1da5f4331}\label{nnstreamer__subplugin_8h_a9a49cd912879fbdf703cdeb1da5f4331}} 
\index{nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}!get\_all\_subplugins@{get\_all\_subplugins}}
\index{get\_all\_subplugins@{get\_all\_subplugins}!nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}}
\doxysubsubsection{\texorpdfstring{get\_all\_subplugins()}{get\_all\_subplugins()}}
{\footnotesize\ttfamily gchar$\ast$$\ast$ get\+\_\+all\+\_\+subplugins (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060}{subplugin\+Type}}}]{type }\end{DoxyParamCaption})}



Get the list of registered subplugins. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em type} & Subplugin Type \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The list of subplugin name 
\end{DoxyReturn}
\begin{DoxyNote}{Note}
Caller should free the returned value using g\+\_\+strfreev()
\end{DoxyNote}
Get the list of registered subplugins. 

Definition at line 176 of file nnstreamer\+\_\+subplugin.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__subplugin_8h_a9a49cd912879fbdf703cdeb1da5f4331_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__subplugin_8h_a9a49cd912879fbdf703cdeb1da5f4331_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__subplugin_8h_a9a9749415079f97324f49974a78c2a75}\label{nnstreamer__subplugin_8h_a9a9749415079f97324f49974a78c2a75}} 
\index{nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}!get\_subplugin@{get\_subplugin}}
\index{get\_subplugin@{get\_subplugin}!nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}}
\doxysubsubsection{\texorpdfstring{get\_subplugin()}{get\_subplugin()}}
{\footnotesize\ttfamily const void$\ast$ get\+\_\+subplugin (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060}{subplugin\+Type}}}]{type,  }\item[{const char $\ast$}]{name }\end{DoxyParamCaption})}



Retrieve the registered data with the subplugin name. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em type} & Subplugin Type \\
\hline
\mbox{\texttt{ in}}  & {\em name} & Subplugin Name. The filename should be libnnstreamer\+\_\+\$\{type\}\+\_\+\$\{name\}.so \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The registered data
\end{DoxyReturn}
Retrieve the registered data with the subplugin name. Search and register if found with the conf

Definition at line 141 of file nnstreamer\+\_\+subplugin.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__subplugin_8h_a9a9749415079f97324f49974a78c2a75_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__subplugin_8h_a9a9749415079f97324f49974a78c2a75_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__subplugin_8h_a5942f0329fe7602e106458d69a9a477f}\label{nnstreamer__subplugin_8h_a5942f0329fe7602e106458d69a9a477f}} 
\index{nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}!register\_subplugin@{register\_subplugin}}
\index{register\_subplugin@{register\_subplugin}!nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}}
\doxysubsubsection{\texorpdfstring{register\_subplugin()}{register\_subplugin()}}
{\footnotesize\ttfamily gboolean register\+\_\+subplugin (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060}{subplugin\+Type}}}]{type,  }\item[{const char $\ast$}]{name,  }\item[{const void $\ast$}]{data }\end{DoxyParamCaption})}



Register the subplugin. If duplicated name exists, it is rejected. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em type} & Subplugin Type \\
\hline
\mbox{\texttt{ in}}  & {\em name} & Subplugin Name. The filename should be subplugin\+\_\+prefixes\mbox{[}type\mbox{]}\$\{name\}.so \\
\hline
\mbox{\texttt{ in}}  & {\em data} & The registered data \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T\+R\+UE if registered as new. F\+A\+L\+SE if duplicated (overwritten/updated).
\end{DoxyReturn}
Register the subplugin. If duplicated name exists, it is rejected. \begin{DoxyRefDesc}{Todo}
\item[\mbox{\hyperlink{todo__todo000053}{Todo}}]data out of scope at add \end{DoxyRefDesc}


Definition at line 225 of file nnstreamer\+\_\+subplugin.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__subplugin_8h_a5942f0329fe7602e106458d69a9a477f_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__subplugin_8h_a5942f0329fe7602e106458d69a9a477f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__subplugin_8h_a25820d83c2db0d66da5664603d7590a1}\label{nnstreamer__subplugin_8h_a25820d83c2db0d66da5664603d7590a1}} 
\index{nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}!subplugin\_get\_custom\_property\_desc@{subplugin\_get\_custom\_property\_desc}}
\index{subplugin\_get\_custom\_property\_desc@{subplugin\_get\_custom\_property\_desc}!nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}}
\doxysubsubsection{\texorpdfstring{subplugin\_get\_custom\_property\_desc()}{subplugin\_get\_custom\_property\_desc()}}
{\footnotesize\ttfamily G\+Data$\ast$ subplugin\+\_\+get\+\_\+custom\+\_\+property\+\_\+desc (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060}{subplugin\+Type}}}]{type,  }\item[{const char $\ast$}]{name }\end{DoxyParamCaption})}



common interface to get custom property description of a sub-\/plugin. 



Definition at line 359 of file nnstreamer\+\_\+subplugin.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__subplugin_8h_a25820d83c2db0d66da5664603d7590a1_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__subplugin_8h_a25820d83c2db0d66da5664603d7590a1_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__subplugin_8h_a3e7200a364bb55b2d7e49f898682c9e3}\label{nnstreamer__subplugin_8h_a3e7200a364bb55b2d7e49f898682c9e3}} 
\index{nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}!subplugin\_set\_custom\_property\_desc@{subplugin\_set\_custom\_property\_desc}}
\index{subplugin\_set\_custom\_property\_desc@{subplugin\_set\_custom\_property\_desc}!nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}}
\doxysubsubsection{\texorpdfstring{subplugin\_set\_custom\_property\_desc()}{subplugin\_set\_custom\_property\_desc()}}
{\footnotesize\ttfamily void subplugin\+\_\+set\+\_\+custom\+\_\+property\+\_\+desc (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060}{subplugin\+Type}}}]{type,  }\item[{const char $\ast$}]{name,  }\item[{const gchar $\ast$}]{prop,  }\item[{va\+\_\+list}]{varargs }\end{DoxyParamCaption})}



common interface to set custom property description of a sub-\/plugin. 



Definition at line 329 of file nnstreamer\+\_\+subplugin.\+c.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__subplugin_8h_a3e7200a364bb55b2d7e49f898682c9e3_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__subplugin_8h_a3e7200a364bb55b2d7e49f898682c9e3_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{nnstreamer__subplugin_8h_a80d306e6bc53a126f715ca4c531d9a7d}\label{nnstreamer__subplugin_8h_a80d306e6bc53a126f715ca4c531d9a7d}} 
\index{nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}!unregister\_subplugin@{unregister\_subplugin}}
\index{unregister\_subplugin@{unregister\_subplugin}!nnstreamer\_subplugin.h@{nnstreamer\_subplugin.h}}
\doxysubsubsection{\texorpdfstring{unregister\_subplugin()}{unregister\_subplugin()}}
{\footnotesize\ttfamily gboolean unregister\+\_\+subplugin (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{nnstreamer__subplugin_8h_a5859b643ab4af6b6b9ae2344242a8060}{subplugin\+Type}}}]{type,  }\item[{const char $\ast$}]{name }\end{DoxyParamCaption})}



Unregister the subplugin. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em type} & Subplugin type \\
\hline
\mbox{\texttt{ in}}  & {\em name} & Subplugin Name. The filename should be subplugin\+\_\+prefixes\mbox{[}type\mbox{]}\$\{name\}.so \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T\+R\+UE if unregistered. F\+A\+L\+SE if rejected or error.
\end{DoxyReturn}
\begin{DoxyWarning}{Warning}
Subplugins checked out with get\+\_\+subplugins can still be used after unregister.
\end{DoxyWarning}
Unregister the subplugin. 

Definition at line 289 of file nnstreamer\+\_\+subplugin.\+c.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nnstreamer__subplugin_8h_a80d306e6bc53a126f715ca4c531d9a7d_icgraph}
\end{center}
\end{figure}
