\hypertarget{classFileInterface}{}\section{File\+Interface Class Reference}
\label{classFileInterface}\index{File\+Interface@{File\+Interface}}


Interface class for file handling.  




{\ttfamily \#include $<$Open\+Flipper/\+Base\+Plugin/\+File\+Interface.\+hh$>$}

Inheritance diagram for File\+Interface\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=12.000000cm]{classFileInterface}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{Indent}\textbf{ Widgets}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classFileInterface_ae65a01c7d0f025d504acb88dc8e223f4}\label{classFileInterface_ae65a01c7d0f025d504acb88dc8e223f4}} 
virtual \hyperlink{classFileInterface_ae65a01c7d0f025d504acb88dc8e223f4}{$\sim$\+File\+Interface} ()
\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
virtual Q\+Widget $\ast$ \hyperlink{classFileInterface_a5cfabe9faa5b3e9f107766a6b670626b}{save\+Options\+Widget} (Q\+String \+\_\+current\+Filter)=0
\item 
virtual Q\+Widget $\ast$ \hyperlink{classFileInterface_a69ddbb8db7fd5b9257f35bc0148ef7c0}{load\+Options\+Widget} (Q\+String \+\_\+current\+Filter)=0
\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Supported types}\par
\begin{DoxyCompactItemize}
\item 
virtual \hyperlink{classDataType}{Data\+Type} \hyperlink{classFileInterface_add81abf9277dae44167763da4371fb28}{supported\+Type} ()=0
\begin{DoxyCompactList}\small\item\em Return your supported object type( e.\+g. D\+A\+T\+A\+\_\+\+T\+R\+I\+A\+N\+G\+L\+E\+\_\+\+M\+E\+SH ) \end{DoxyCompactList}\item 
virtual Q\+String \hyperlink{classFileInterface_a804009a394ded7436b43c624af9cc44d}{get\+Load\+Filters} ()=0
\item 
virtual Q\+String \hyperlink{classFileInterface_a86b79f14fef9913720c6456df43de7df}{get\+Save\+Filters} ()=0
\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Load Save Implementation}
\begin{DoxyCompactItemize}
\item 
virtual bool \hyperlink{classFileInterface_acc96b2af7bbc2e1dc9b9a2f344523939}{save\+Object} (int \+\_\+id, Q\+String \+\_\+filename)=0
\begin{DoxyCompactList}\small\item\em Save an object from the given file. \end{DoxyCompactList}\item 
virtual bool \hyperlink{classFileInterface_a5d8d9b8cb42f182213217194a557e854}{save\+Objects} (\hyperlink{DataTypes_8hh_af4b4959090eb91720b2f1f4bd6131cfb}{Id\+List} \+\_\+ids, Q\+String \+\_\+filename)
\begin{DoxyCompactList}\small\item\em Save multiple objects to one file. \end{DoxyCompactList}\item 
virtual void \hyperlink{classFileInterface_a92fc756dcb00772a23a09fb598e311b0}{opened\+File} (int \+\_\+id)
\begin{DoxyCompactList}\small\item\em This signal has to be emitted if an object has been loaded from a file. \end{DoxyCompactList}\item 
virtual int \hyperlink{classFileInterface_a0efbab4d230207cfa77fac0523add4eb}{load\+Object} (Q\+String \+\_\+filename)=0
\begin{DoxyCompactList}\small\item\em Load an object from the given file. \end{DoxyCompactList}\item 
virtual int \hyperlink{classFileInterface_aac6acc4ff271420c30d6608dbc4d3665}{load\+Object} (Q\+String \+\_\+filename, \hyperlink{classDataType}{Data\+Type} \+\_\+type)
\begin{DoxyCompactList}\small\item\em Load an object from the given file. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Interface class for file handling. 

\hyperlink{fileInterfacePage}{Detailed description} ~\newline
 Loading and saving of files in Open\+Flipper is handled via the file plugins. These have to implement this class. 

Definition at line 63 of file File\+Interface.\+hh.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classFileInterface_a804009a394ded7436b43c624af9cc44d}\label{classFileInterface_a804009a394ded7436b43c624af9cc44d}} 
\index{File\+Interface@{File\+Interface}!get\+Load\+Filters@{get\+Load\+Filters}}
\index{get\+Load\+Filters@{get\+Load\+Filters}!File\+Interface@{File\+Interface}}
\subsubsection{\texorpdfstring{get\+Load\+Filters()}{getLoadFilters()}}
{\footnotesize\ttfamily virtual Q\+String File\+Interface\+::get\+Load\+Filters (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}

Return the Qt Filters for File dialogs when loading files (e.\+g. \char`\"{}\+Off files ( $\ast$.\+off )\char`\"{} ) 

Implemented in \hyperlink{classFileVTKPlugin_a7444f87b537428c12147912a13fe9262}{File\+V\+T\+K\+Plugin}, \hyperlink{classFileOBJPlugin_afd1f21ccfbaa30503c52c318294549fc}{File\+O\+B\+J\+Plugin}, \hyperlink{classFileOFFPlugin_a705c91a061c10dc766968c72adbdbcf2}{File\+O\+F\+F\+Plugin}, \hyperlink{classFilePTSPlugin_a691acd6859d54ddb798d3ed01ecec14c}{File\+P\+T\+S\+Plugin}, \hyperlink{classFileBundlePlugin_acbafc4aeee75fc40df964d23457080eb}{File\+Bundle\+Plugin}, \hyperlink{classFileOpenVolumeMeshPlugin_a059ddc1eabe22713a28c8820e834bced}{File\+Open\+Volume\+Mesh\+Plugin}, \hyperlink{classFilePLYPlugin_a08dee4813447668be41ed5e6b7e8dc3f}{File\+P\+L\+Y\+Plugin}, \hyperlink{classFileSTLPlugin_a94ee385be9592a6ecc46b7ea4e2d53c7}{File\+S\+T\+L\+Plugin}, \hyperlink{classFileOMPlugin_abb57a8ed9088f7f6d9e1eb57a1a14123}{File\+O\+M\+Plugin}, \hyperlink{classFileBVHPlugin_a68e17ca81e9f229a04a21a8a790be4bb}{File\+B\+V\+H\+Plugin}, \hyperlink{classFilePolyLinePlugin_a8c05054082333618411f6f6c4a07f6d9}{File\+Poly\+Line\+Plugin}, \hyperlink{classFileSKLPlugin_a53e41466d9eef1d79d13c8186cc9b043}{File\+S\+K\+L\+Plugin}, \hyperlink{classFileSPHPlugin_ab433ad8fe8b1c2886036b7a915c124a1}{File\+S\+P\+H\+Plugin}, \hyperlink{classFilePlaPlugin_acb034d6e2e2d4c492c9df5891479b52f}{File\+Pla\+Plugin}, \hyperlink{classFileHeightFieldPNGPlugin_a64f2e4edb804a80e66f9c515c5b4f141}{File\+Height\+Field\+P\+N\+G\+Plugin}, \hyperlink{classFileViewPlugin_a90b1034116004a76bf72038c7c93567f}{File\+View\+Plugin}, \hyperlink{classFileScriptPlugin_a19fb5ab9688e779dd724bd02a39cfd3a}{File\+Script\+Plugin}, and \hyperlink{classFileLightPlugin_a7b2fea780203b359919a0435da325173}{File\+Light\+Plugin}.

\mbox{\Hypertarget{classFileInterface_a86b79f14fef9913720c6456df43de7df}\label{classFileInterface_a86b79f14fef9913720c6456df43de7df}} 
\index{File\+Interface@{File\+Interface}!get\+Save\+Filters@{get\+Save\+Filters}}
\index{get\+Save\+Filters@{get\+Save\+Filters}!File\+Interface@{File\+Interface}}
\subsubsection{\texorpdfstring{get\+Save\+Filters()}{getSaveFilters()}}
{\footnotesize\ttfamily virtual Q\+String File\+Interface\+::get\+Save\+Filters (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}

Get the Qt Filters for Filedialogs when saving files (e.\+g. \char`\"{}\+Off files ( $\ast$.\+off )\char`\"{} ) 

Implemented in \hyperlink{classFileVTKPlugin_afc99f474ef710612a3cddb34400809a5}{File\+V\+T\+K\+Plugin}, \hyperlink{classFileOBJPlugin_a1545c585b20300f6fdfb2cf95557b42e}{File\+O\+B\+J\+Plugin}, \hyperlink{classFileOFFPlugin_a3e1c6c1e86325fe37c5db300995342dc}{File\+O\+F\+F\+Plugin}, \hyperlink{classFilePTSPlugin_ad23c8a1677c0b37754ae899b939e7f78}{File\+P\+T\+S\+Plugin}, \hyperlink{classFileBundlePlugin_ae57e664fa70dbcf74d7518a6014ef583}{File\+Bundle\+Plugin}, \hyperlink{classFileOpenVolumeMeshPlugin_a3bf46bf020b75cd802b78a5793bb14e7}{File\+Open\+Volume\+Mesh\+Plugin}, \hyperlink{classFilePLYPlugin_a3457eac5fee54f682f9de9df7fbde56a}{File\+P\+L\+Y\+Plugin}, \hyperlink{classFileSTLPlugin_ace9f515ac5cd128e2410a83f082495e6}{File\+S\+T\+L\+Plugin}, \hyperlink{classFileOMPlugin_aa437e6f23adf31ac61a0106a341cc63b}{File\+O\+M\+Plugin}, \hyperlink{classFileBVHPlugin_a6760c7f86229dba0a51e9e8bfc2385be}{File\+B\+V\+H\+Plugin}, \hyperlink{classFilePolyLinePlugin_a7174616adb9fc40736af369e49d5aab1}{File\+Poly\+Line\+Plugin}, \hyperlink{classFileSKLPlugin_ae26623ba3bbc7f8beae235fff0ef1742}{File\+S\+K\+L\+Plugin}, \hyperlink{classFileSPHPlugin_a2343268003e5a0cbbb7da35476c797ad}{File\+S\+P\+H\+Plugin}, \hyperlink{classFilePlaPlugin_aa955f4bd3acea15bb61d9c248c7f677e}{File\+Pla\+Plugin}, \hyperlink{classFileHeightFieldPNGPlugin_a9906f8a1f8b8a01b0f2f685f35b66e98}{File\+Height\+Field\+P\+N\+G\+Plugin}, \hyperlink{classFileViewPlugin_a4b936b026c8a3054240f725428b37344}{File\+View\+Plugin}, \hyperlink{classFileScriptPlugin_a4618431152aefb6001c06c0e50e3ef37}{File\+Script\+Plugin}, and \hyperlink{classFileLightPlugin_ab17d777e985c1371720dc52105d0f33f}{File\+Light\+Plugin}.

\mbox{\Hypertarget{classFileInterface_a0efbab4d230207cfa77fac0523add4eb}\label{classFileInterface_a0efbab4d230207cfa77fac0523add4eb}} 
\index{File\+Interface@{File\+Interface}!load\+Object@{load\+Object}}
\index{load\+Object@{load\+Object}!File\+Interface@{File\+Interface}}
\subsubsection{\texorpdfstring{load\+Object}{loadObject}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily virtual int File\+Interface\+::load\+Object (\begin{DoxyParamCaption}\item[{Q\+String}]{\+\_\+filename }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}, {\ttfamily [slot]}}



Load an object from the given file. 

The \hyperlink{classCore}{Core} will call this slot if you should load a file. The core will check if you support the given file type depending on the provided filters and \hyperlink{structdataTypes}{data\+Types} ( see supported\+Type and get\+Load\+Filters )~\newline
 If loading fails, you have to return -\/1. If you created an empty object and then your load procedure fails, you should remove the newly generated object.~\newline
 if you just opened a file and did not create any object, return 0 here, telling the core that it was successfully loaded but no new object has been created! \mbox{\Hypertarget{classFileInterface_aac6acc4ff271420c30d6608dbc4d3665}\label{classFileInterface_aac6acc4ff271420c30d6608dbc4d3665}} 
\index{File\+Interface@{File\+Interface}!load\+Object@{load\+Object}}
\index{load\+Object@{load\+Object}!File\+Interface@{File\+Interface}}
\subsubsection{\texorpdfstring{load\+Object}{loadObject}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily virtual int File\+Interface\+::load\+Object (\begin{DoxyParamCaption}\item[{Q\+String}]{\+\_\+filename,  }\item[{\hyperlink{classDataType}{Data\+Type}}]{\+\_\+type }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [slot]}}



Load an object from the given file. 

The \hyperlink{classCore}{Core} will call this slot if you should load a file. The core will check if you support the given file type depending on the provided filters and \hyperlink{structdataTypes}{data\+Types} ( see supported\+Type and get\+Load\+Filters )~\newline
 if you just opened a file and did not create any object, return 0 here, telling the core that it was successfully loaded but no new object has been created!

If loading fails, you have to return -\/1. If you created an empty object and then your load procedure fails, you should remove the newly generated object.~\newline
 If the Plugin is able to open the file in different Data\+Types one of these Data\+Types can be forced with this function.

This forcing is used for example by the recent files function for choosing between poly or triangle mesh loading. 

Definition at line 179 of file File\+Interface.\+hh.

\mbox{\Hypertarget{classFileInterface_a69ddbb8db7fd5b9257f35bc0148ef7c0}\label{classFileInterface_a69ddbb8db7fd5b9257f35bc0148ef7c0}} 
\index{File\+Interface@{File\+Interface}!load\+Options\+Widget@{load\+Options\+Widget}}
\index{load\+Options\+Widget@{load\+Options\+Widget}!File\+Interface@{File\+Interface}}
\subsubsection{\texorpdfstring{load\+Options\+Widget()}{loadOptionsWidget()}}
{\footnotesize\ttfamily virtual Q\+Widget$\ast$ File\+Interface\+::load\+Options\+Widget (\begin{DoxyParamCaption}\item[{Q\+String}]{\+\_\+current\+Filter }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}

You can provide a special widget showing options for loading your file types depending on the current filter

\+\_\+current\+Filter\+: one filter from load\+Filters

Return 0 when you don\textquotesingle{}t need one 

Implemented in \hyperlink{classFileVTKPlugin_ac437c51fb01e2b84ef385f4da11bca8b}{File\+V\+T\+K\+Plugin}, \hyperlink{classFileOBJPlugin_afbd90ae8f95a88a99a0a8a28379c2413}{File\+O\+B\+J\+Plugin}, \hyperlink{classFileOFFPlugin_a6d9a9aeed0074b2a7afa5ca5de0b212d}{File\+O\+F\+F\+Plugin}, \hyperlink{classFilePTSPlugin_a53ebfaa1bb274817afdcedc3fe7529fd}{File\+P\+T\+S\+Plugin}, \hyperlink{classFileOpenVolumeMeshPlugin_a6ddac64bcf60549da18415c2cee1afdf}{File\+Open\+Volume\+Mesh\+Plugin}, \hyperlink{classFileBundlePlugin_ae76ee6176b00edce567fda9788d9fff1}{File\+Bundle\+Plugin}, \hyperlink{classFilePLYPlugin_a32a5c993dd1987230f4dbc39014e2589}{File\+P\+L\+Y\+Plugin}, \hyperlink{classFileSTLPlugin_a345357efd9884581875f9d9bb78786ed}{File\+S\+T\+L\+Plugin}, \hyperlink{classFileOMPlugin_aff6db0474c7c3e87af3f2deaad453680}{File\+O\+M\+Plugin}, \hyperlink{classFileBVHPlugin_a50fe9183bb679ca3d5e0fc5a15a30c7a}{File\+B\+V\+H\+Plugin}, \hyperlink{classFilePolyLinePlugin_a7f0d0522e1a5150ad737e26e129b4943}{File\+Poly\+Line\+Plugin}, \hyperlink{classFileSKLPlugin_ac36860dfd0ec7902cd93fe6a141af15d}{File\+S\+K\+L\+Plugin}, \hyperlink{classFileSPHPlugin_a0b2ee59822fd659d6fe7ffbe68035a3e}{File\+S\+P\+H\+Plugin}, \hyperlink{classFilePlaPlugin_a1f4e73fb81825672e46424dc62db0ddc}{File\+Pla\+Plugin}, \hyperlink{classFileHeightFieldPNGPlugin_ab1c5ce64713f509d334ed207ac142a5f}{File\+Height\+Field\+P\+N\+G\+Plugin}, \hyperlink{classFileScriptPlugin_a7bd75c20a52399a248dc959f24ef5669}{File\+Script\+Plugin}, \hyperlink{classFileViewPlugin_ae48192b659ce0483b4f7c46a92b396f6}{File\+View\+Plugin}, and \hyperlink{classFileLightPlugin_a0f6c416e0fe0190785d6377ea03d221b}{File\+Light\+Plugin}.

\mbox{\Hypertarget{classFileInterface_a92fc756dcb00772a23a09fb598e311b0}\label{classFileInterface_a92fc756dcb00772a23a09fb598e311b0}} 
\index{File\+Interface@{File\+Interface}!opened\+File@{opened\+File}}
\index{opened\+File@{opened\+File}!File\+Interface@{File\+Interface}}
\subsubsection{\texorpdfstring{opened\+File}{openedFile}}
{\footnotesize\ttfamily virtual void File\+Interface\+::opened\+File (\begin{DoxyParamCaption}\item[{int}]{\+\_\+id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [signal]}}



This signal has to be emitted if an object has been loaded from a file. 

Every time a new object is added to the scene from a file, this signal has to be emitted. Emit this signal once each time a file has been completely processed.~\newline
This signal can be called from any thread.~\newline
 
\begin{DoxyParams}{Parameters}
{\em \+\_\+id} & Id of the new object \\
\hline
\end{DoxyParams}


Definition at line 138 of file File\+Interface.\+hh.

\mbox{\Hypertarget{classFileInterface_acc96b2af7bbc2e1dc9b9a2f344523939}\label{classFileInterface_acc96b2af7bbc2e1dc9b9a2f344523939}} 
\index{File\+Interface@{File\+Interface}!save\+Object@{save\+Object}}
\index{save\+Object@{save\+Object}!File\+Interface@{File\+Interface}}
\subsubsection{\texorpdfstring{save\+Object()}{saveObject()}}
{\footnotesize\ttfamily virtual bool File\+Interface\+::save\+Object (\begin{DoxyParamCaption}\item[{int}]{\+\_\+id,  }\item[{Q\+String}]{\+\_\+filename }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Save an object from the given file. 

The \hyperlink{classCore}{Core} will call this slot if you should save an object to a file. The core will check if you support the given object depending on the provided \hyperlink{structdataTypes}{data\+Types} ( see supported\+Type ). Additionally to the filename you get the id of the object to save \mbox{\Hypertarget{classFileInterface_a5d8d9b8cb42f182213217194a557e854}\label{classFileInterface_a5d8d9b8cb42f182213217194a557e854}} 
\index{File\+Interface@{File\+Interface}!save\+Objects@{save\+Objects}}
\index{save\+Objects@{save\+Objects}!File\+Interface@{File\+Interface}}
\subsubsection{\texorpdfstring{save\+Objects()}{saveObjects()}}
{\footnotesize\ttfamily virtual bool File\+Interface\+::save\+Objects (\begin{DoxyParamCaption}\item[{\hyperlink{DataTypes_8hh_af4b4959090eb91720b2f1f4bd6131cfb}{Id\+List}}]{\+\_\+ids,  }\item[{Q\+String}]{\+\_\+filename }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Save multiple objects to one file. 

The \hyperlink{classCore}{Core} will call this slot if the user wants to save multiple files in one file. The core will check if you support the given object depending on the provided \hyperlink{structdataTypes}{data\+Types} ( see supported\+Type ). Additionally to the filename you get ids of the objects to save 

Definition at line 197 of file File\+Interface.\+hh.

\mbox{\Hypertarget{classFileInterface_a5cfabe9faa5b3e9f107766a6b670626b}\label{classFileInterface_a5cfabe9faa5b3e9f107766a6b670626b}} 
\index{File\+Interface@{File\+Interface}!save\+Options\+Widget@{save\+Options\+Widget}}
\index{save\+Options\+Widget@{save\+Options\+Widget}!File\+Interface@{File\+Interface}}
\subsubsection{\texorpdfstring{save\+Options\+Widget()}{saveOptionsWidget()}}
{\footnotesize\ttfamily virtual Q\+Widget$\ast$ File\+Interface\+::save\+Options\+Widget (\begin{DoxyParamCaption}\item[{Q\+String}]{\+\_\+current\+Filter }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}

You can provide a special widget showing options for saving your file types depending on the current filter

\+\_\+current\+Filter\+: one filter from save\+Filters

Return 0 when you don\textquotesingle{}t need one 

Implemented in \hyperlink{classFileVTKPlugin_acc0185bee5fdc93ed027db8b0c2b79a1}{File\+V\+T\+K\+Plugin}, \hyperlink{classFileOBJPlugin_a127698d160fadddeef25beaaa4713fa3}{File\+O\+B\+J\+Plugin}, \hyperlink{classFileOFFPlugin_a95ec608c2577e8d114eddb821355f55b}{File\+O\+F\+F\+Plugin}, \hyperlink{classFilePTSPlugin_acaefed8db89c39a4b3491372bf67107d}{File\+P\+T\+S\+Plugin}, \hyperlink{classFileOpenVolumeMeshPlugin_aa67e6101e65710dfabdbccde64c38565}{File\+Open\+Volume\+Mesh\+Plugin}, \hyperlink{classFileBundlePlugin_a2ac7f00485bdfc1808d91e4507c0e6ed}{File\+Bundle\+Plugin}, \hyperlink{classFilePLYPlugin_ad94499822f922f60e1fefa70cc585f1f}{File\+P\+L\+Y\+Plugin}, \hyperlink{classFileSTLPlugin_a08c3a58c0d414e669f0f2d6d712f5052}{File\+S\+T\+L\+Plugin}, \hyperlink{classFileOMPlugin_a0902267586d614561511fbeb5ae7e756}{File\+O\+M\+Plugin}, \hyperlink{classFileBVHPlugin_ab681542abe273661cdf6932d1ce07f60}{File\+B\+V\+H\+Plugin}, \hyperlink{classFilePolyLinePlugin_aaa67c1babfb98bdc54388ef2590a05ce}{File\+Poly\+Line\+Plugin}, \hyperlink{classFileSKLPlugin_ab6b4dd8e55eef81c45e719a45abee059}{File\+S\+K\+L\+Plugin}, \hyperlink{classFileSPHPlugin_aa51065b58c37161914bb33d39f48d5ce}{File\+S\+P\+H\+Plugin}, \hyperlink{classFilePlaPlugin_a776c0d95e0b15fa4c36686ab0b3b0245}{File\+Pla\+Plugin}, \hyperlink{classFileHeightFieldPNGPlugin_a29f48a2341e5499f4437e90ed9159499}{File\+Height\+Field\+P\+N\+G\+Plugin}, \hyperlink{classFileScriptPlugin_a1dd131190928afde2e49d73256e619bf}{File\+Script\+Plugin}, \hyperlink{classFileViewPlugin_a8bff442094800e2fb05a5193c344236b}{File\+View\+Plugin}, and \hyperlink{classFileLightPlugin_afb86578911ffe6b582d52e96875ad802}{File\+Light\+Plugin}.

\mbox{\Hypertarget{classFileInterface_add81abf9277dae44167763da4371fb28}\label{classFileInterface_add81abf9277dae44167763da4371fb28}} 
\index{File\+Interface@{File\+Interface}!supported\+Type@{supported\+Type}}
\index{supported\+Type@{supported\+Type}!File\+Interface@{File\+Interface}}
\subsubsection{\texorpdfstring{supported\+Type()}{supportedType()}}
{\footnotesize\ttfamily virtual \hyperlink{classDataType}{Data\+Type} File\+Interface\+::supported\+Type (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Return your supported object type( e.\+g. D\+A\+T\+A\+\_\+\+T\+R\+I\+A\+N\+G\+L\+E\+\_\+\+M\+E\+SH ) 

If you support multiple Data\+Types you can combine them bitwise here. The function is used from the load and save code to check if your plugin can handle an object of a given data\+Type. 

Implemented in \hyperlink{classFileVTKPlugin_a8cb15c3bd010d0f3f73bdc47348f35cf}{File\+V\+T\+K\+Plugin}, \hyperlink{classFileOBJPlugin_a0ca2b0c6abe9a2914452b821df625bed}{File\+O\+B\+J\+Plugin}, \hyperlink{classFileOFFPlugin_a936ae59c6376b16fb8d66a3720723ae4}{File\+O\+F\+F\+Plugin}, \hyperlink{classFilePTSPlugin_ad4bffcf0916751f4dba7492053023364}{File\+P\+T\+S\+Plugin}, \hyperlink{classFileOpenVolumeMeshPlugin_a7bcb7f6fc4aeb0dfd1afcbdfca9e182e}{File\+Open\+Volume\+Mesh\+Plugin}, \hyperlink{classFileBundlePlugin_aba709cfa7466df182cf59172bb2644e6}{File\+Bundle\+Plugin}, \hyperlink{classFilePLYPlugin_a9f3f5b168214d6822f29203fafad0c88}{File\+P\+L\+Y\+Plugin}, \hyperlink{classFileSTLPlugin_a0ebe4f3d4e4849c7cdc355d40a548b20}{File\+S\+T\+L\+Plugin}, \hyperlink{classFileOMPlugin_afa6b4a837ff203fbf0e56e849a3fb6e5}{File\+O\+M\+Plugin}, \hyperlink{classFileBVHPlugin_aa4f0406e74f871ccde6b7e23213cc1eb}{File\+B\+V\+H\+Plugin}, \hyperlink{classFilePolyLinePlugin_a919148955d6edf79b974caa01ccb8531}{File\+Poly\+Line\+Plugin}, \hyperlink{classFileSKLPlugin_a5e89f142e04c26dad6a7c82e96df2591}{File\+S\+K\+L\+Plugin}, \hyperlink{classFileSPHPlugin_a58e579c79d1f79ec4e8ea3e0d29de4c5}{File\+S\+P\+H\+Plugin}, \hyperlink{classFilePlaPlugin_a7b16f3d6e2bbbf95dc8fc8c2668f6793}{File\+Pla\+Plugin}, \hyperlink{classFileHeightFieldPNGPlugin_ad6b4483c6fdf16b6ab48929d25815bb4}{File\+Height\+Field\+P\+N\+G\+Plugin}, \hyperlink{classFileViewPlugin_ac00181e912c5ad4619fba40784865917}{File\+View\+Plugin}, \hyperlink{classFileScriptPlugin_a09d843ecc27c3ce97305888edf86a878}{File\+Script\+Plugin}, and \hyperlink{classFileLightPlugin_ad27e8a5142c73cbe1fc516112e8f37b5}{File\+Light\+Plugin}.



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
Open\+Flipper/\+Base\+Plugin/\hyperlink{FileInterface_8hh}{File\+Interface.\+hh}\end{DoxyCompactItemize}
