\doxysection{lo::\+Server Class Reference}
\hypertarget{classlo_1_1Server}{}\label{classlo_1_1Server}\index{lo::Server@{lo::Server}}


Class representing a local OSC server, proxy for \doxylink{lo__types_8h_a009a4f26c17bfcc1c31efc45499d09b8}{lo\+\_\+server}.  




{\ttfamily \+\#include $<$lo\+\_\+cpp.\+h$>$}



Inherited by \doxymbox{\hyperlink{classlo_1_1ServerThread}{lo::\+\+Server\+Thread}}.

\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\doxymbox{\hyperlink{classlo_1_1Server_abf695f157836b714e1e250b47bc018b3}{Server}} (\doxymbox{\hyperlink{lo__types_8h_a009a4f26c17bfcc1c31efc45499d09b8}{lo\+\_\+server}} s)
\item 
{\footnotesize template$<$typename E$>$ }\\\doxymbox{\hyperlink{classlo_1_1Server_a65262c3e0bebd348fe07474dfee59150}{Server}} (const num\+\_\+string\+\_\+type \&port, E \&\&e)
\item 
{\footnotesize template$<$typename E$>$ }\\\doxymbox{\hyperlink{classlo_1_1Server_a56985c15c0efa0c1d61ffb25bbdc47a3}{Server}} (const num\+\_\+string\+\_\+type \&port, int proto, E \&\&e=0)
\item 
{\footnotesize template$<$typename E$>$ }\\\doxymbox{\hyperlink{classlo_1_1Server_a93a05e892f41d45d1069c77a15a2c16d}{Server}} (const string\+\_\+type \&group, const num\+\_\+string\+\_\+type \&port, const string\+\_\+type \&iface=0, const string\+\_\+type \&ip=0, E \&\&e=0)
\item 
\doxymbox{\hyperlink{classlo_1_1Server_a357459bdcea45875a1485b26e9bfcfaa}{Server}} (const num\+\_\+string\+\_\+type \&port, \doxymbox{\hyperlink{lo__types_8h_aa4406d5e90db364c02337656e6c95250}{lo\+\_\+err\+\_\+handler}} err\+\_\+h=0)
\item 
\doxymbox{\hyperlink{classlo_1_1Server_a499a9175c5908a9947cc413316d7fb3d}{Server}} (const num\+\_\+string\+\_\+type \&port, int proto, \doxymbox{\hyperlink{lo__types_8h_aa4406d5e90db364c02337656e6c95250}{lo\+\_\+err\+\_\+handler}} err\+\_\+h=0)
\item 
\doxymbox{\hyperlink{classlo_1_1Server_a260c1a07f5a0af5057ab97b8c0efe026}{Server}} (const string\+\_\+type \&group, const num\+\_\+string\+\_\+type \&port, const string\+\_\+type \&iface="{}"{}, const string\+\_\+type \&ip="{}"{}, \doxymbox{\hyperlink{lo__types_8h_aa4406d5e90db364c02337656e6c95250}{lo\+\_\+err\+\_\+handler}} err\+\_\+h=0)
\item 
virtual \doxymbox{\hyperlink{classlo_1_1Server_a207eee1c209e04d2fc683ecb8ce86470}{\texorpdfstring{$\sim$}{\string~}\+Server}} ()
\item 
\doxymbox{\hyperlink{classlo_1_1Method}{Method}} \doxymbox{\hyperlink{classlo_1_1Server_aeea7b42e48809faf081c1b2bc3f2769c}{add\+\_\+method}} (const string\+\_\+type \&path, const string\+\_\+type \&types, \doxymbox{\hyperlink{lo__types_8h_a5b38e0822e47acaa3c7267348f50f66c}{lo\+\_\+method\+\_\+handler}} h, void \texorpdfstring{$\ast$}{*}data) const
\item 
\doxymbox{\hyperlink{classlo_1_1Server_aadd89f1021f8437246bc640834ce7522}{LO\+\_\+\+ADD\+\_\+\+METHOD}} ((const char \texorpdfstring{$\ast$}{*}, const char \texorpdfstring{$\ast$}{*}, \doxymbox{\hyperlink{unionlo__arg}{lo\+\_\+arg}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}, int),((char \texorpdfstring{$\ast$}{*}) 0,(char \texorpdfstring{$\ast$}{*}) 0,(\doxymbox{\hyperlink{unionlo__arg}{lo\+\_\+arg}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}) 0,(int) 0),(path, types, argv, argc))
\item 
\doxymbox{\hyperlink{classlo_1_1Server_a79293c21b7b389e32178d91f9774021f}{LO\+\_\+\+ADD\+\_\+\+METHOD}} ((const char \texorpdfstring{$\ast$}{*}, \doxymbox{\hyperlink{unionlo__arg}{lo\+\_\+arg}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}, int),((char \texorpdfstring{$\ast$}{*}) 0,(\doxymbox{\hyperlink{unionlo__arg}{lo\+\_\+arg}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}) 0,(int) 0),(types, argv, argc))
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Class representing a local OSC server, proxy for \doxylink{lo__types_8h_a009a4f26c17bfcc1c31efc45499d09b8}{lo\+\_\+server}. 

Definition at line \doxymbox{\hyperlink{lo__cpp_8h_source_l00502}{502}} of file \doxymbox{\hyperlink{lo__cpp_8h_source}{lo\+\_\+cpp.\+h}}.



\label{doc-constructors}
\Hypertarget{classlo_1_1Server_doc-constructors}
\doxysubsection{Constructor \& Destructor Documentation}
\Hypertarget{classlo_1_1Server_abf695f157836b714e1e250b47bc018b3}\index{lo::Server@{lo::Server}!Server@{Server}}
\index{Server@{Server}!lo::Server@{lo::Server}}
\doxysubsubsection{\texorpdfstring{Server()}{Server()}\hspace{0.1cm}{\footnotesize\ttfamily [1/7]}}
{\footnotesize\ttfamily \label{classlo_1_1Server_abf695f157836b714e1e250b47bc018b3} 
lo::\+\+Server::\+\+Server (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{lo__types_8h_a009a4f26c17bfcc1c31efc45499d09b8}{lo\+\_\+server}}}]{s}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Constructor. 

Definition at line \doxymbox{\hyperlink{lo__cpp_8h_source_l00506}{506}} of file \doxymbox{\hyperlink{lo__cpp_8h_source}{lo\+\_\+cpp.\+h}}.



Referenced by \doxymbox{\hyperlink{lo__cpp_8h_source_l00510}{Server()}}, \doxymbox{\hyperlink{lo__cpp_8h_source_l00527}{Server()}}, \doxymbox{\hyperlink{lo__cpp_8h_source_l00572}{Server()}}, \doxymbox{\hyperlink{lo__cpp_8h_source_l00568}{Server()}}, \doxymbox{\hyperlink{lo__cpp_8h_source_l00578}{Server()}}, and \doxymbox{\hyperlink{lo__cpp_8h_source_l00545}{Server()}}.

\Hypertarget{classlo_1_1Server_a65262c3e0bebd348fe07474dfee59150}\index{lo::Server@{lo::Server}!Server@{Server}}
\index{Server@{Server}!lo::Server@{lo::Server}}
\doxysubsubsection{\texorpdfstring{Server()}{Server()}\hspace{0.1cm}{\footnotesize\ttfamily [2/7]}}
{\footnotesize\ttfamily \label{classlo_1_1Server_a65262c3e0bebd348fe07474dfee59150} 
template$<$typename E$>$ \\
lo::\+\+Server::\+\+Server (\begin{DoxyParamCaption}\item[{const num\+\_\+string\+\_\+type \&}]{port}{, }\item[{E \&\&}]{e}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Constructor taking an error handler. 

Definition at line \doxymbox{\hyperlink{lo__cpp_8h_source_l00510}{510}} of file \doxymbox{\hyperlink{lo__cpp_8h_source}{lo\+\_\+cpp.\+h}}.



References \doxymbox{\hyperlink{group__liblolowlevel_ga78cfb23346e44465695293d4393447ae}{lo\+\_\+server\+\_\+new()}}, and \doxymbox{\hyperlink{lo__cpp_8h_source_l00506}{Server()}}.

\Hypertarget{classlo_1_1Server_a56985c15c0efa0c1d61ffb25bbdc47a3}\index{lo::Server@{lo::Server}!Server@{Server}}
\index{Server@{Server}!lo::Server@{lo::Server}}
\doxysubsubsection{\texorpdfstring{Server()}{Server()}\hspace{0.1cm}{\footnotesize\ttfamily [3/7]}}
{\footnotesize\ttfamily \label{classlo_1_1Server_a56985c15c0efa0c1d61ffb25bbdc47a3} 
template$<$typename E$>$ \\
lo::\+\+Server::\+\+Server (\begin{DoxyParamCaption}\item[{const num\+\_\+string\+\_\+type \&}]{port}{, }\item[{int}]{proto}{, }\item[{E \&\&}]{e}{ = {\ttfamily 0}}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Constructor taking a port number and error handler. 

Definition at line \doxymbox{\hyperlink{lo__cpp_8h_source_l00527}{527}} of file \doxymbox{\hyperlink{lo__cpp_8h_source}{lo\+\_\+cpp.\+h}}.



References \doxymbox{\hyperlink{group__liblolowlevel_ga4afa474b11ed0d4511857ae79c56aaa1}{lo\+\_\+server\+\_\+new\+\_\+with\+\_\+proto()}}, and \doxymbox{\hyperlink{lo__cpp_8h_source_l00506}{Server()}}.

\Hypertarget{classlo_1_1Server_a93a05e892f41d45d1069c77a15a2c16d}\index{lo::Server@{lo::Server}!Server@{Server}}
\index{Server@{Server}!lo::Server@{lo::Server}}
\doxysubsubsection{\texorpdfstring{Server()}{Server()}\hspace{0.1cm}{\footnotesize\ttfamily [4/7]}}
{\footnotesize\ttfamily \label{classlo_1_1Server_a93a05e892f41d45d1069c77a15a2c16d} 
template$<$typename E$>$ \\
lo::\+\+Server::\+\+Server (\begin{DoxyParamCaption}\item[{const string\+\_\+type \&}]{group}{, }\item[{const num\+\_\+string\+\_\+type \&}]{port}{, }\item[{const string\+\_\+type \&}]{iface}{ = {\ttfamily 0}, }\item[{const string\+\_\+type \&}]{ip}{ = {\ttfamily 0}, }\item[{E \&\&}]{e}{ = {\ttfamily 0}}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Constructor taking a multicast group, port number, interface identifier or IP, and error handler. 

Definition at line \doxymbox{\hyperlink{lo__cpp_8h_source_l00545}{545}} of file \doxymbox{\hyperlink{lo__cpp_8h_source}{lo\+\_\+cpp.\+h}}.



References \doxymbox{\hyperlink{group__liblolowlevel_gadec49f210324f499f2e9593df20128cb}{lo\+\_\+server\+\_\+new\+\_\+multicast\+\_\+iface()}}, and \doxymbox{\hyperlink{lo__cpp_8h_source_l00506}{Server()}}.

\Hypertarget{classlo_1_1Server_a357459bdcea45875a1485b26e9bfcfaa}\index{lo::Server@{lo::Server}!Server@{Server}}
\index{Server@{Server}!lo::Server@{lo::Server}}
\doxysubsubsection{\texorpdfstring{Server()}{Server()}\hspace{0.1cm}{\footnotesize\ttfamily [5/7]}}
{\footnotesize\ttfamily \label{classlo_1_1Server_a357459bdcea45875a1485b26e9bfcfaa} 
lo::\+\+Server::\+\+Server (\begin{DoxyParamCaption}\item[{const num\+\_\+string\+\_\+type \&}]{port}{, }\item[{\doxymbox{\hyperlink{lo__types_8h_aa4406d5e90db364c02337656e6c95250}{lo\+\_\+err\+\_\+handler}}}]{err\+\_\+h}{ = {\ttfamily 0}}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Constructor taking a port number and error handler. 

Definition at line \doxymbox{\hyperlink{lo__cpp_8h_source_l00568}{568}} of file \doxymbox{\hyperlink{lo__cpp_8h_source}{lo\+\_\+cpp.\+h}}.



References \doxymbox{\hyperlink{group__liblolowlevel_ga78cfb23346e44465695293d4393447ae}{lo\+\_\+server\+\_\+new()}}, and \doxymbox{\hyperlink{lo__cpp_8h_source_l00506}{Server()}}.

\Hypertarget{classlo_1_1Server_a499a9175c5908a9947cc413316d7fb3d}\index{lo::Server@{lo::Server}!Server@{Server}}
\index{Server@{Server}!lo::Server@{lo::Server}}
\doxysubsubsection{\texorpdfstring{Server()}{Server()}\hspace{0.1cm}{\footnotesize\ttfamily [6/7]}}
{\footnotesize\ttfamily \label{classlo_1_1Server_a499a9175c5908a9947cc413316d7fb3d} 
lo::\+\+Server::\+\+Server (\begin{DoxyParamCaption}\item[{const num\+\_\+string\+\_\+type \&}]{port}{, }\item[{int}]{proto}{, }\item[{\doxymbox{\hyperlink{lo__types_8h_aa4406d5e90db364c02337656e6c95250}{lo\+\_\+err\+\_\+handler}}}]{err\+\_\+h}{ = {\ttfamily 0}}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Constructor taking a port number, protocol, and error handler. 

Definition at line \doxymbox{\hyperlink{lo__cpp_8h_source_l00572}{572}} of file \doxymbox{\hyperlink{lo__cpp_8h_source}{lo\+\_\+cpp.\+h}}.



References \doxymbox{\hyperlink{group__liblolowlevel_ga4afa474b11ed0d4511857ae79c56aaa1}{lo\+\_\+server\+\_\+new\+\_\+with\+\_\+proto()}}, and \doxymbox{\hyperlink{lo__cpp_8h_source_l00506}{Server()}}.

\Hypertarget{classlo_1_1Server_a260c1a07f5a0af5057ab97b8c0efe026}\index{lo::Server@{lo::Server}!Server@{Server}}
\index{Server@{Server}!lo::Server@{lo::Server}}
\doxysubsubsection{\texorpdfstring{Server()}{Server()}\hspace{0.1cm}{\footnotesize\ttfamily [7/7]}}
{\footnotesize\ttfamily \label{classlo_1_1Server_a260c1a07f5a0af5057ab97b8c0efe026} 
lo::\+\+Server::\+\+Server (\begin{DoxyParamCaption}\item[{const string\+\_\+type \&}]{group}{, }\item[{const num\+\_\+string\+\_\+type \&}]{port}{, }\item[{const string\+\_\+type \&}]{iface}{ = {\ttfamily "{}"{}}, }\item[{const string\+\_\+type \&}]{ip}{ = {\ttfamily "{}"{}}, }\item[{\doxymbox{\hyperlink{lo__types_8h_aa4406d5e90db364c02337656e6c95250}{lo\+\_\+err\+\_\+handler}}}]{err\+\_\+h}{ = {\ttfamily 0}}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Constructor taking a multicast group, port number, interface identifier or IP, and error handler. 

Definition at line \doxymbox{\hyperlink{lo__cpp_8h_source_l00578}{578}} of file \doxymbox{\hyperlink{lo__cpp_8h_source}{lo\+\_\+cpp.\+h}}.



References \doxymbox{\hyperlink{group__liblolowlevel_ga849f4517a29ad850069cf8f2976a9284}{lo\+\_\+server\+\_\+new\+\_\+multicast()}}, \doxymbox{\hyperlink{group__liblolowlevel_gadec49f210324f499f2e9593df20128cb}{lo\+\_\+server\+\_\+new\+\_\+multicast\+\_\+iface()}}, and \doxymbox{\hyperlink{lo__cpp_8h_source_l00506}{Server()}}.

\Hypertarget{classlo_1_1Server_a207eee1c209e04d2fc683ecb8ce86470}\index{lo::Server@{lo::Server}!````~Server@{\texorpdfstring{$\sim$}{\string~}Server}}
\index{````~Server@{\texorpdfstring{$\sim$}{\string~}Server}!lo::Server@{lo::Server}}
\doxysubsubsection{\texorpdfstring{\texorpdfstring{$\sim$}{\string~}Server()}{\string~Server()}}
{\footnotesize\ttfamily \label{classlo_1_1Server_a207eee1c209e04d2fc683ecb8ce86470} 
virtual lo::\+\+Server::\+\texorpdfstring{$\sim$}{\string~}\+Server (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Destructor 

Definition at line \doxymbox{\hyperlink{lo__cpp_8h_source_l00587}{587}} of file \doxymbox{\hyperlink{lo__cpp_8h_source}{lo\+\_\+cpp.\+h}}.



References \doxymbox{\hyperlink{group__liblolowlevel_gad3dc9193e1eef0d71a4b046242b64216}{lo\+\_\+server\+\_\+free()}}.



\label{doc-func-members}
\Hypertarget{classlo_1_1Server_doc-func-members}
\doxysubsection{Member Function Documentation}
\Hypertarget{classlo_1_1Server_aeea7b42e48809faf081c1b2bc3f2769c}\index{lo::Server@{lo::Server}!add\_method@{add\_method}}
\index{add\_method@{add\_method}!lo::Server@{lo::Server}}
\doxysubsubsection{\texorpdfstring{add\_method()}{add\_method()}}
{\footnotesize\ttfamily \label{classlo_1_1Server_aeea7b42e48809faf081c1b2bc3f2769c} 
\doxymbox{\hyperlink{classlo_1_1Method}{Method}} lo::\+\+Server::\+add\+\_\+method (\begin{DoxyParamCaption}\item[{const string\+\_\+type \&}]{path}{, }\item[{const string\+\_\+type \&}]{types}{, }\item[{\doxymbox{\hyperlink{lo__types_8h_a5b38e0822e47acaa3c7267348f50f66c}{lo\+\_\+method\+\_\+handler}}}]{h}{, }\item[{void \texorpdfstring{$\ast$}{*}}]{data}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

Add a method to handle a given path and type, with a handler and user data pointer. 

Definition at line \doxymbox{\hyperlink{lo__cpp_8h_source_l00596}{596}} of file \doxymbox{\hyperlink{lo__cpp_8h_source}{lo\+\_\+cpp.\+h}}.

\Hypertarget{classlo_1_1Server_aadd89f1021f8437246bc640834ce7522}\index{lo::Server@{lo::Server}!LO\_ADD\_METHOD@{LO\_ADD\_METHOD}}
\index{LO\_ADD\_METHOD@{LO\_ADD\_METHOD}!lo::Server@{lo::Server}}
\doxysubsubsection{\texorpdfstring{LO\_ADD\_METHOD()}{LO\_ADD\_METHOD()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{classlo_1_1Server_aadd89f1021f8437246bc640834ce7522} 
lo::\+\+Server::\+\+LO\+\_\+\+ADD\+\_\+\+METHOD (\begin{DoxyParamCaption}\item[{(const char \texorpdfstring{$\ast$}{*}, const char \texorpdfstring{$\ast$}{*}, \doxymbox{\hyperlink{unionlo__arg}{lo\+\_\+arg}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}, int)}]{}{, }\item[{((char \texorpdfstring{$\ast$}{*}) 0,(char \texorpdfstring{$\ast$}{*}) 0,(\doxymbox{\hyperlink{unionlo__arg}{lo\+\_\+arg}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}) 0,(int) 0)}]{}{, }\item[{(path, types, argv, argc)}]{}{}\end{DoxyParamCaption})}

Add a method to handle a given path and type, with a handler taking (argv, argc), user data. \Hypertarget{classlo_1_1Server_a79293c21b7b389e32178d91f9774021f}\index{lo::Server@{lo::Server}!LO\_ADD\_METHOD@{LO\_ADD\_METHOD}}
\index{LO\_ADD\_METHOD@{LO\_ADD\_METHOD}!lo::Server@{lo::Server}}
\doxysubsubsection{\texorpdfstring{LO\_ADD\_METHOD()}{LO\_ADD\_METHOD()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{classlo_1_1Server_a79293c21b7b389e32178d91f9774021f} 
lo::\+\+Server::\+\+LO\+\_\+\+ADD\+\_\+\+METHOD (\begin{DoxyParamCaption}\item[{(const char \texorpdfstring{$\ast$}{*}, \doxymbox{\hyperlink{unionlo__arg}{lo\+\_\+arg}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}, int)}]{}{, }\item[{((char \texorpdfstring{$\ast$}{*}) 0,(\doxymbox{\hyperlink{unionlo__arg}{lo\+\_\+arg}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}) 0,(int) 0)}]{}{, }\item[{(types, argv, argc)}]{}{}\end{DoxyParamCaption})}

Add a method to handle a given path and type, with a handler taking (types, argv, argc), user data. 