Thread: Re: [Doxygen-users] Strange indentation behaviour
Brought to you by:
dimitri
From: Roger J. <ro...@be...> - 2013-11-19 21:47:12
|
Oops, I meant two say two indents further right! Senior moment :-) Roger James <ro...@be...> wrote: >Help, > >I am really scratching my head over the indentation in the following >piece of code. > >If have tried dots, par commands, blank lines. Everything I could think >of. But the functions after the list in the @name block come out wrongly >indented. The first two functions (EnumerateMathPlugins and >SelectMathPlugin) come out two (approx) indents (I am using spaces) >further to the left than the last sub list entry (The current selected >math plugin..) and the next function is not indented at all! > >You can verify this by saving this code as test.h and running doxygen >test.h (no config file). I think my doxygen version is 1.8.4 (Ubuntu 13.10). > >All help gratefully received. > >Roger > >#include <vector> >#include <string> > >/*! > * \class AlignmentSubsystem > * \brief Provides functions to manage the loading and initialisation of Alignment Subsystem plugin database and math modules. Also provides > * helper functions for telescope drivers using the the Alignment Subsystem. > * > * TODO see if we can detect if this class is being used by a client or a driver from RTTI > * so that we can access INDI properties appropriately > * > * \note It is intended that this class should be included as a base class alongside INDI::Telescope in derived > * telescope driver classes. In the same way the INDI::GuiderInterface class is used. > */ >class AlignmentSubsystem >{ >public: > /*! @name Plugin management > * These functions are used to enumerate, load, and utilise math plugins. > * They are intended to be used solely in driver modules. > * The following INDI properties are used to communicate the plugin details to the client if required. > * - ALIGNMENT_SUBSYSTEM_MATH_PLUGINS\n > * A list of available plugins (switch) > * - ALIGNMENT_SUBSYSYSTEM_CURRENT_MATH_PLUGIN\n > * The current selected math plugin. Read/write if required (text) > * . > * > */ > ///@{ > /*! > * \brief Return a list of the names of the available math plugins. > * \param[out] MathPlugins Reference to a list of the names of the available math plugins. > * \return False on failure > */ > bool EnumerateMathPlugins(const std::vector<std::string>& MathPlugins); > > /*! > * \brief Selects, loads and initialises the named math plugin. > * \param[in] MathPluginName The name of the required math plugin. > * \return False on failure. > */ > bool SelectMathPlugin(const std::string& MathPluginName); > > /*! > * \brief Get a pointer to the current math plugin. > * \return NULL on failure. > */ > const MathPlugin* GetMathPluginPointer(void); > ///@} > >}; > > > > >------------------------------------------------------------------------------ >Shape the Mobile Experience: Free Subscription >Software experts and developers: Be at the forefront of tech innovation. >Intel(R) Software Adrenaline delivers strategic insight and game-changing >conversations that shape the rapidly evolving mobile landscape. Sign up now. >http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk >_______________________________________________ >Doxygen-users mailing list >Dox...@li... >https://lists.sourceforge.net/lists/listinfo/doxygen-users |
From: Albert <alb...@gm...> - 2013-11-20 09:01:46
|
Roger, I tried your example with version 1.8.4 on windows (with doxygen -v you get the version so please check to be 100% sure you use 1.8.4. Normally the version is also mentioned at the bottom right of each HTML page) but I didn't see anything special. I used a default Doxyfile (i.e. one generated with doxygen -g).. - Did you you use any special settings? - can you post an image signaling the problem? Albert On Tue, Nov 19, 2013 at 10:47 PM, Roger James <ro...@be...>wrote: > Oops, I meant two say two indents further right! Senior moment :-) > > Roger James <ro...@be...> wrote: > > >Help, > > > >I am really scratching my head over the indentation in the following > >piece of code. > > > >If have tried dots, par commands, blank lines. Everything I could think > >of. But the functions after the list in the @name block come out wrongly > >indented. The first two functions (EnumerateMathPlugins and > >SelectMathPlugin) come out two (approx) indents (I am using spaces) > >further to the left than the last sub list entry (The current selected > >math plugin..) and the next function is not indented at all! > > > >You can verify this by saving this code as test.h and running doxygen > >test.h (no config file). I think my doxygen version is 1.8.4 (Ubuntu > 13.10). > > > >All help gratefully received. > > > >Roger > > > >#include <vector> > >#include <string> > > > >/*! > > * \class AlignmentSubsystem > > * \brief Provides functions to manage the loading and initialisation of > Alignment Subsystem plugin database and math modules. Also provides > > * helper functions for telescope drivers using the the Alignment > Subsystem. > > * > > * TODO see if we can detect if this class is being used by a client or a > driver from RTTI > > * so that we can access INDI properties appropriately > > * > > * \note It is intended that this class should be included as a base > class alongside INDI::Telescope in derived > > * telescope driver classes. In the same way the INDI::GuiderInterface > class is used. > > */ > >class AlignmentSubsystem > >{ > >public: > > /*! @name Plugin management > > * These functions are used to enumerate, load, and utilise math > plugins. > > * They are intended to be used solely in driver modules. > > * The following INDI properties are used to communicate the plugin > details to the client if required. > > * - ALIGNMENT_SUBSYSTEM_MATH_PLUGINS\n > > * A list of available plugins (switch) > > * - ALIGNMENT_SUBSYSYSTEM_CURRENT_MATH_PLUGIN\n > > * The current selected math plugin. Read/write if required (text) > > * . > > * > > */ > > ///@{ > > /*! > > * \brief Return a list of the names of the available math plugins. > > * \param[out] MathPlugins Reference to a list of the names of the > available math plugins. > > * \return False on failure > > */ > > bool EnumerateMathPlugins(const std::vector<std::string>& > MathPlugins); > > > > /*! > > * \brief Selects, loads and initialises the named math plugin. > > * \param[in] MathPluginName The name of the required math plugin. > > * \return False on failure. > > */ > > bool SelectMathPlugin(const std::string& MathPluginName); > > > > /*! > > * \brief Get a pointer to the current math plugin. > > * \return NULL on failure. > > */ > > const MathPlugin* GetMathPluginPointer(void); > > ///@} > > > >}; > > > > > > > > > > >------------------------------------------------------------------------------ > >Shape the Mobile Experience: Free Subscription > >Software experts and developers: Be at the forefront of tech innovation. > >Intel(R) Software Adrenaline delivers strategic insight and game-changing > >conversations that shape the rapidly evolving mobile landscape. Sign up > now. > > > http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk > >_______________________________________________ > >Doxygen-users mailing list > >Dox...@li... > >https://lists.sourceforge.net/lists/listinfo/doxygen-users > > ------------------------------------------------------------------------------ > Shape the Mobile Experience: Free Subscription > Software experts and developers: Be at the forefront of tech innovation. > Intel(R) Software Adrenaline delivers strategic insight and game-changing > conversations that shape the rapidly evolving mobile landscape. Sign up > now. > http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk > _______________________________________________ > Doxygen-users mailing list > Dox...@li... > https://lists.sourceforge.net/lists/listinfo/doxygen-users > |
From: Roger J. <ro...@be...> - 2013-11-20 09:31:04
|
Hi Albert, I am definitely using 1.8.4. I get the same result with my normal Doxyfile, a -g Doxyfile, and no Doxyfile. I have zipped up a screen shot and my test environment along with the generated output and put it here. https://dl.dropboxusercontent.com/u/84613021/doxytest.zip I wonder if this is a browser issue. I am using Firefox. I will try to fire up virtualbox and see if I can check with a different browser and maybe a windows install of doxygen. Thank you for your response. Roger On 20/11/13 09:01, Albert wrote: > Roger, > > I tried your example with version 1.8.4 on windows (with doxygen -v > you get the version so please check to be 100% sure you use 1.8.4. > Normally the version is also mentioned at the bottom right of each > HTML page) but I didn't see anything special. I used a default > Doxyfile (i.e. one generated with doxygen -g).. > - Did you you use any special settings? > - can you post an image signaling the problem? > > Albert > > > On Tue, Nov 19, 2013 at 10:47 PM, Roger James > <ro...@be... <mailto:ro...@be...>> wrote: > > Oops, I meant two say two indents further right! Senior moment :-) > > Roger James <ro...@be... > <mailto:ro...@be...>> wrote: > > >Help, > > > >I am really scratching my head over the indentation in the following > >piece of code. > > > >If have tried dots, par commands, blank lines. Everything I could > think > >of. But the functions after the list in the @name block come out > wrongly > >indented. The first two functions (EnumerateMathPlugins and > >SelectMathPlugin) come out two (approx) indents (I am using spaces) > >further to the left than the last sub list entry (The current > selected > >math plugin..) and the next function is not indented at all! > > > >You can verify this by saving this code as test.h and running doxygen > >test.h (no config file). I think my doxygen version is 1.8.4 > (Ubuntu 13.10). > > > >All help gratefully received. > > > >Roger > > > >#include <vector> > >#include <string> > > > >/*! > > * \class AlignmentSubsystem > > * \brief Provides functions to manage the loading and > initialisation of Alignment Subsystem plugin database and math > modules. Also provides > > * helper functions for telescope drivers using the the Alignment > Subsystem. > > * > > * TODO see if we can detect if this class is being used by a > client or a driver from RTTI > > * so that we can access INDI properties appropriately > > * > > * \note It is intended that this class should be included as a > base class alongside INDI::Telescope in derived > > * telescope driver classes. In the same way the > INDI::GuiderInterface class is used. > > */ > >class AlignmentSubsystem > >{ > >public: > > /*! @name Plugin management > > * These functions are used to enumerate, load, and utilise > math plugins. > > * They are intended to be used solely in driver modules. > > * The following INDI properties are used to communicate the > plugin details to the client if required. > > * - ALIGNMENT_SUBSYSTEM_MATH_PLUGINS\n > > * A list of available plugins (switch) > > * - ALIGNMENT_SUBSYSYSTEM_CURRENT_MATH_PLUGIN\n > > * The current selected math plugin. Read/write if > required (text) > > * . > > * > > */ > > ///@{ > > /*! > > * \brief Return a list of the names of the available math > plugins. > > * \param[out] MathPlugins Reference to a list of the names > of the available math plugins. > > * \return False on failure > > */ > > bool EnumerateMathPlugins(const std::vector<std::string>& > MathPlugins); > > > > /*! > > * \brief Selects, loads and initialises the named math plugin. > > * \param[in] MathPluginName The name of the required math > plugin. > > * \return False on failure. > > */ > > bool SelectMathPlugin(const std::string& MathPluginName); > > > > /*! > > * \brief Get a pointer to the current math plugin. > > * \return NULL on failure. > > */ > > const MathPlugin* GetMathPluginPointer(void); > > ///@} > > > >}; > > > > > > > > > >------------------------------------------------------------------------------ > >Shape the Mobile Experience: Free Subscription > >Software experts and developers: Be at the forefront of tech > innovation. > >Intel(R) Software Adrenaline delivers strategic insight and > game-changing > >conversations that shape the rapidly evolving mobile landscape. > Sign up now. > >http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk > >_______________________________________________ > >Doxygen-users mailing list > >Dox...@li... > <mailto:Dox...@li...> > >https://lists.sourceforge.net/lists/listinfo/doxygen-users > ------------------------------------------------------------------------------ > Shape the Mobile Experience: Free Subscription > Software experts and developers: Be at the forefront of tech > innovation. > Intel(R) Software Adrenaline delivers strategic insight and > game-changing > conversations that shape the rapidly evolving mobile landscape. > Sign up now. > http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk > _______________________________________________ > Doxygen-users mailing list > Dox...@li... > <mailto:Dox...@li...> > https://lists.sourceforge.net/lists/listinfo/doxygen-users > > |
From: Albert <alb...@gm...> - 2013-11-20 09:43:05
|
Hi Roger, Looked at the screenshot and the html pages (I'm using Firefox, newest version on windows) but I don't see the problem you are referring to.As far as I understand you are talking about the function prototypes and brief descriptions in the light blue part but I don't see here anything odd, I probably don't understand the problem you are referring to. Albert On Wed, Nov 20, 2013 at 10:30 AM, Roger James <ro...@be...>wrote: > Hi Albert, > > I am definitely using 1.8.4. I get the same result with my normal > Doxyfile, a -g Doxyfile, and no Doxyfile. I have zipped up a screen shot > and my test environment along with the generated output and put it here. > > https://dl.dropboxusercontent.com/u/84613021/doxytest.zip > > I wonder if this is a browser issue. I am using Firefox. I will try to > fire up virtualbox and see if I can check with a different browser and > maybe a windows install of doxygen. > > Thank you for your response. > > Roger > > > On 20/11/13 09:01, Albert wrote: > > Roger, > > I tried your example with version 1.8.4 on windows (with doxygen -v you > get the version so please check to be 100% sure you use 1.8.4. Normally the > version is also mentioned at the bottom right of each HTML page) but I > didn't see anything special. I used a default Doxyfile (i.e. one generated > with doxygen -g).. > - Did you you use any special settings? > - can you post an image signaling the problem? > > Albert > > > On Tue, Nov 19, 2013 at 10:47 PM, Roger James <ro...@be... > > wrote: > >> Oops, I meant two say two indents further right! Senior moment :-) >> >> Roger James <ro...@be...> wrote: >> >> >Help, >> > >> >I am really scratching my head over the indentation in the following >> >piece of code. >> > >> >If have tried dots, par commands, blank lines. Everything I could think >> >of. But the functions after the list in the @name block come out wrongly >> >indented. The first two functions (EnumerateMathPlugins and >> >SelectMathPlugin) come out two (approx) indents (I am using spaces) >> >further to the left than the last sub list entry (The current selected >> >math plugin..) and the next function is not indented at all! >> > >> >You can verify this by saving this code as test.h and running doxygen >> >test.h (no config file). I think my doxygen version is 1.8.4 (Ubuntu >> 13.10). >> > >> >All help gratefully received. >> > >> >Roger >> > >> >#include <vector> >> >#include <string> >> > >> >/*! >> > * \class AlignmentSubsystem >> > * \brief Provides functions to manage the loading and initialisation of >> Alignment Subsystem plugin database and math modules. Also provides >> > * helper functions for telescope drivers using the the Alignment >> Subsystem. >> > * >> > * TODO see if we can detect if this class is being used by a client or >> a driver from RTTI >> > * so that we can access INDI properties appropriately >> > * >> > * \note It is intended that this class should be included as a base >> class alongside INDI::Telescope in derived >> > * telescope driver classes. In the same way the INDI::GuiderInterface >> class is used. >> > */ >> >class AlignmentSubsystem >> >{ >> >public: >> > /*! @name Plugin management >> > * These functions are used to enumerate, load, and utilise math >> plugins. >> > * They are intended to be used solely in driver modules. >> > * The following INDI properties are used to communicate the plugin >> details to the client if required. >> > * - ALIGNMENT_SUBSYSTEM_MATH_PLUGINS\n >> > * A list of available plugins (switch) >> > * - ALIGNMENT_SUBSYSYSTEM_CURRENT_MATH_PLUGIN\n >> > * The current selected math plugin. Read/write if required (text) >> > * . >> > * >> > */ >> > ///@{ >> > /*! >> > * \brief Return a list of the names of the available math plugins. >> > * \param[out] MathPlugins Reference to a list of the names of the >> available math plugins. >> > * \return False on failure >> > */ >> > bool EnumerateMathPlugins(const std::vector<std::string>& >> MathPlugins); >> > >> > /*! >> > * \brief Selects, loads and initialises the named math plugin. >> > * \param[in] MathPluginName The name of the required math plugin. >> > * \return False on failure. >> > */ >> > bool SelectMathPlugin(const std::string& MathPluginName); >> > >> > /*! >> > * \brief Get a pointer to the current math plugin. >> > * \return NULL on failure. >> > */ >> > const MathPlugin* GetMathPluginPointer(void); >> > ///@} >> > >> >}; >> > >> > >> > >> > >> >> >------------------------------------------------------------------------------ >> >Shape the Mobile Experience: Free Subscription >> >Software experts and developers: Be at the forefront of tech innovation. >> >Intel(R) Software Adrenaline delivers strategic insight and game-changing >> >conversations that shape the rapidly evolving mobile landscape. Sign up >> now. >> > >> http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk >> >_______________________________________________ >> >Doxygen-users mailing list >> >Dox...@li... >> >https://lists.sourceforge.net/lists/listinfo/doxygen-users >> >> ------------------------------------------------------------------------------ >> Shape the Mobile Experience: Free Subscription >> Software experts and developers: Be at the forefront of tech innovation. >> Intel(R) Software Adrenaline delivers strategic insight and game-changing >> conversations that shape the rapidly evolving mobile landscape. Sign up >> now. >> >> http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk >> _______________________________________________ >> Doxygen-users mailing list >> Dox...@li... >> https://lists.sourceforge.net/lists/listinfo/doxygen-users >> > > > |
From: Roger J. <ro...@be...> - 2013-11-20 09:54:20
|
Hi Albert, Doh, am I going completely stupid, of course it is aligning the function names and moving then across far enough to fill in the return type!!!!!!! I spent hours looking at this last night!!!!! Roger On 20/11/13 09:42, Albert wrote: > Hi Roger, > > Looked at the screenshot and the html pages (I'm using Firefox, newest > version on windows) but I don't see the problem you are referring > to.As far as I understand you are talking about the function > prototypes and brief descriptions in the light blue part but I don't > see here anything odd, I probably don't understand the problem you are > referring to. > > Albert > > > On Wed, Nov 20, 2013 at 10:30 AM, Roger James > <ro...@be... <mailto:ro...@be...>> wrote: > > Hi Albert, > > I am definitely using 1.8.4. I get the same result with my normal > Doxyfile, a -g Doxyfile, and no Doxyfile. I have zipped up a > screen shot and my test environment along with the generated > output and put it here. > > https://dl.dropboxusercontent.com/u/84613021/doxytest.zip > > I wonder if this is a browser issue. I am using Firefox. I will > try to fire up virtualbox and see if I can check with a different > browser and maybe a windows install of doxygen. > > Thank you for your response. > > Roger > > > On 20/11/13 09:01, Albert wrote: >> Roger, >> >> I tried your example with version 1.8.4 on windows (with doxygen >> -v you get the version so please check to be 100% sure you use >> 1.8.4. Normally the version is also mentioned at the bottom right >> of each HTML page) but I didn't see anything special. I used a >> default Doxyfile (i.e. one generated with doxygen -g).. >> - Did you you use any special settings? >> - can you post an image signaling the problem? >> >> Albert >> >> >> On Tue, Nov 19, 2013 at 10:47 PM, Roger James >> <ro...@be... >> <mailto:ro...@be...>> wrote: >> >> Oops, I meant two say two indents further right! Senior >> moment :-) >> >> Roger James <ro...@be... >> <mailto:ro...@be...>> wrote: >> >> >Help, >> > >> >I am really scratching my head over the indentation in the >> following >> >piece of code. >> > >> >If have tried dots, par commands, blank lines. Everything I >> could think >> >of. But the functions after the list in the @name block come >> out wrongly >> >indented. The first two functions (EnumerateMathPlugins and >> >SelectMathPlugin) come out two (approx) indents (I am using >> spaces) >> >further to the left than the last sub list entry (The >> current selected >> >math plugin..) and the next function is not indented at all! >> > >> >You can verify this by saving this code as test.h and >> running doxygen >> >test.h (no config file). I think my doxygen version is 1.8.4 >> (Ubuntu 13.10). >> > >> >All help gratefully received. >> > >> >Roger >> > >> >#include <vector> >> >#include <string> >> > >> >/*! >> > * \class AlignmentSubsystem >> > * \brief Provides functions to manage the loading and >> initialisation of Alignment Subsystem plugin database and >> math modules. Also provides >> > * helper functions for telescope drivers using the the >> Alignment Subsystem. >> > * >> > * TODO see if we can detect if this class is being used by >> a client or a driver from RTTI >> > * so that we can access INDI properties appropriately >> > * >> > * \note It is intended that this class should be included >> as a base class alongside INDI::Telescope in derived >> > * telescope driver classes. In the same way the >> INDI::GuiderInterface class is used. >> > */ >> >class AlignmentSubsystem >> >{ >> >public: >> > /*! @name Plugin management >> > * These functions are used to enumerate, load, and >> utilise math plugins. >> > * They are intended to be used solely in driver modules. >> > * The following INDI properties are used to >> communicate the plugin details to the client if required. >> > * - ALIGNMENT_SUBSYSTEM_MATH_PLUGINS\n >> > * A list of available plugins (switch) >> > * - ALIGNMENT_SUBSYSYSTEM_CURRENT_MATH_PLUGIN\n >> > * The current selected math plugin. Read/write if >> required (text) >> > * . >> > * >> > */ >> > ///@{ >> > /*! >> > * \brief Return a list of the names of the available >> math plugins. >> > * \param[out] MathPlugins Reference to a list of the >> names of the available math plugins. >> > * \return False on failure >> > */ >> > bool EnumerateMathPlugins(const >> std::vector<std::string>& MathPlugins); >> > >> > /*! >> > * \brief Selects, loads and initialises the named math >> plugin. >> > * \param[in] MathPluginName The name of the required >> math plugin. >> > * \return False on failure. >> > */ >> > bool SelectMathPlugin(const std::string& MathPluginName); >> > >> > /*! >> > * \brief Get a pointer to the current math plugin. >> > * \return NULL on failure. >> > */ >> > const MathPlugin* GetMathPluginPointer(void); >> > ///@} >> > >> >}; >> |
From: Albert <alb...@gm...> - 2013-11-20 10:02:51
|
Hi Roger, OK indeed the return type is aligned to the right. Good that it is clear now. Albert On Wed, Nov 20, 2013 at 10:54 AM, Roger James <ro...@be...>wrote: > Hi Albert, > > Doh, am I going completely stupid, of course it is aligning the function > names and moving then across far enough to fill in the return type!!!!!!! I > spent hours looking at this last night!!!!! > > Roger > > > > On 20/11/13 09:42, Albert wrote: > > Hi Roger, > > Looked at the screenshot and the html pages (I'm using Firefox, newest > version on windows) but I don't see the problem you are referring to.As far > as I understand you are talking about the function prototypes and brief > descriptions in the light blue part but I don't see here anything odd, I > probably don't understand the problem you are referring to. > > Albert > > > On Wed, Nov 20, 2013 at 10:30 AM, Roger James <ro...@be... > > wrote: > >> Hi Albert, >> >> I am definitely using 1.8.4. I get the same result with my normal >> Doxyfile, a -g Doxyfile, and no Doxyfile. I have zipped up a screen shot >> and my test environment along with the generated output and put it here. >> >> https://dl.dropboxusercontent.com/u/84613021/doxytest.zip >> >> I wonder if this is a browser issue. I am using Firefox. I will try to >> fire up virtualbox and see if I can check with a different browser and >> maybe a windows install of doxygen. >> >> Thank you for your response. >> >> Roger >> >> >> On 20/11/13 09:01, Albert wrote: >> >> Roger, >> >> I tried your example with version 1.8.4 on windows (with doxygen -v you >> get the version so please check to be 100% sure you use 1.8.4. Normally the >> version is also mentioned at the bottom right of each HTML page) but I >> didn't see anything special. I used a default Doxyfile (i.e. one generated >> with doxygen -g).. >> - Did you you use any special settings? >> - can you post an image signaling the problem? >> >> Albert >> >> >> On Tue, Nov 19, 2013 at 10:47 PM, Roger James < >> ro...@be...> wrote: >> >>> Oops, I meant two say two indents further right! Senior moment :-) >>> >>> Roger James <ro...@be...> wrote: >>> >>> >Help, >>> > >>> >I am really scratching my head over the indentation in the following >>> >piece of code. >>> > >>> >If have tried dots, par commands, blank lines. Everything I could think >>> >of. But the functions after the list in the @name block come out wrongly >>> >indented. The first two functions (EnumerateMathPlugins and >>> >SelectMathPlugin) come out two (approx) indents (I am using spaces) >>> >further to the left than the last sub list entry (The current selected >>> >math plugin..) and the next function is not indented at all! >>> > >>> >You can verify this by saving this code as test.h and running doxygen >>> >test.h (no config file). I think my doxygen version is 1.8.4 (Ubuntu >>> 13.10). >>> > >>> >All help gratefully received. >>> > >>> >Roger >>> > >>> >#include <vector> >>> >#include <string> >>> > >>> >/*! >>> > * \class AlignmentSubsystem >>> > * \brief Provides functions to manage the loading and initialisation >>> of Alignment Subsystem plugin database and math modules. Also provides >>> > * helper functions for telescope drivers using the the Alignment >>> Subsystem. >>> > * >>> > * TODO see if we can detect if this class is being used by a client or >>> a driver from RTTI >>> > * so that we can access INDI properties appropriately >>> > * >>> > * \note It is intended that this class should be included as a base >>> class alongside INDI::Telescope in derived >>> > * telescope driver classes. In the same way the INDI::GuiderInterface >>> class is used. >>> > */ >>> >class AlignmentSubsystem >>> >{ >>> >public: >>> > /*! @name Plugin management >>> > * These functions are used to enumerate, load, and utilise math >>> plugins. >>> > * They are intended to be used solely in driver modules. >>> > * The following INDI properties are used to communicate the >>> plugin details to the client if required. >>> > * - ALIGNMENT_SUBSYSTEM_MATH_PLUGINS\n >>> > * A list of available plugins (switch) >>> > * - ALIGNMENT_SUBSYSYSTEM_CURRENT_MATH_PLUGIN\n >>> > * The current selected math plugin. Read/write if required >>> (text) >>> > * . >>> > * >>> > */ >>> > ///@{ >>> > /*! >>> > * \brief Return a list of the names of the available math plugins. >>> > * \param[out] MathPlugins Reference to a list of the names of the >>> available math plugins. >>> > * \return False on failure >>> > */ >>> > bool EnumerateMathPlugins(const std::vector<std::string>& >>> MathPlugins); >>> > >>> > /*! >>> > * \brief Selects, loads and initialises the named math plugin. >>> > * \param[in] MathPluginName The name of the required math plugin. >>> > * \return False on failure. >>> > */ >>> > bool SelectMathPlugin(const std::string& MathPluginName); >>> > >>> > /*! >>> > * \brief Get a pointer to the current math plugin. >>> > * \return NULL on failure. >>> > */ >>> > const MathPlugin* GetMathPluginPointer(void); >>> > ///@} >>> > >>> >}; >>> >> > |