Open Inventor Release 2024.2.0
 
Loading...
Searching...
No Matches
IvtPlugin.h
1/*=======================================================================
2 *** THE CONTENT OF THIS WORK IS PROPRIETARY TO FEI S.A.S, (FEI S.A.S.), ***
3 *** AND IS DISTRIBUTED UNDER A LICENSE AGREEMENT. ***
4 *** ***
5 *** REPRODUCTION, DISCLOSURE, OR USE, IN WHOLE OR IN PART, OTHER THAN AS ***
6 *** SPECIFIED IN THE LICENSE ARE NOT TO BE UNDERTAKEN EXCEPT WITH PRIOR ***
7 *** WRITTEN AUTHORIZATION OF FEI S.A.S. ***
8 *** ***
9 *** RESTRICTED RIGHTS LEGEND ***
10 *** USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT OF THE CONTENT OF THIS ***
11 *** WORK OR RELATED DOCUMENTATION IS SUBJECT TO RESTRICTIONS AS SET FORTH IN ***
12 *** SUBPARAGRAPH (C)(1) OF THE COMMERCIAL COMPUTER SOFTWARE RESTRICTED RIGHT ***
13 *** CLAUSE AT FAR 52.227-19 OR SUBPARAGRAPH (C)(1)(II) OF THE RIGHTS IN ***
14 *** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 52.227-7013. ***
15 *** ***
16 *** COPYRIGHT (C) 1996-2014 BY FEI S.A.S, ***
17 *** BORDEAUX, FRANCE ***
18 *** ALL RIGHTS RESERVED ***
19**=======================================================================*/
20/*=======================================================================
21** Author : Tristan Mehamli (Sep 2011)
22**=======================================================================*/
23
24#ifndef IVT_PLUGIN
25#define IVT_PLUGIN
26
28//
29// Class: IvtPlugin
30//
32
33#include <IvTune/IvTuneExtender/IvtLibName.h>
34
35#include <Inventor/SbString.h>
36
37#include <Inventor/STL/vector>
38
39#ifdef _WIN32
40# if !defined(IvTuneExtenderAPI_EXPORTS)
41# ifndef OIV_DISABLE_AUTOLINK
42# pragma comment(lib,__IVTUNEEXTENDERAPILIB)
43# endif
44# endif
45#endif //win
46
47class IvtExtension;
48class IvtShell;
49
62
80{
81public:
88
95
99 const std::vector<IvtExtension*>& getExtensions() const;
100
104 const IvtPluginInfo& getInfo() const;
105
110 virtual void load();
111
116 virtual void unload();
117
118private:
119
123 IvtPluginInfo m_info;
124
126 virtual ~IvtPlugin() {}
127
128private:
129
131 std::vector<IvtExtension*> m_extensions;
132};
133
134#endif // IVT_PLUGIN
135
136
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Base class to im...
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Base class for i...
Definition IvtPlugin.h:80
const IvtPluginInfo & getInfo() const
Returns the info structure for this plug-in.
virtual void unload()
Unload the extensions of this plug-in.
void addExtension(IvtExtension *ext)
Adds an extension to this plug-in's list of extensions.
IvtExtension * getExtensionByName(const SbString &name)
Returns the extension whose name matches the given name.
const std::vector< IvtExtension * > & getExtensions() const
Returns the list of extensions loaded by this plug-in.
virtual void load()
Load the extensions of this plug-in.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Class to registe...
Definition IvtShell.h:76
Class for smart character strings.
Definition SbString.h:202
Structure describing the common information of a plug-in.
Definition IvtPlugin.h:54
SbString path
Definition IvtPlugin.h:59
SbString description
Definition IvtPlugin.h:56
SbString author
Definition IvtPlugin.h:57
SbString version
Definition IvtPlugin.h:58
SbString name
Definition IvtPlugin.h:55
SbString fileName
Definition IvtPlugin.h:60