Can IDocumentationProvider::homePage be non-const?

Milian Wolff mail at milianw.de
Mon Nov 30 17:53:51 UTC 2009


On Monday, 30. November 2009 18:28:26 Andreas Pakulat wrote:
> On 30.11.09 17:14:23, Milian Wolff wrote:
> > Hey all, esp. Apol:
> >
> > Can I remove the "const" from IDocumentationProvider::homePage() ? Thing
> > is, that I want to pass "this" as parent/provider to the returned
> > IDocumentation. This fails, since this is const, but it should be
> > non-const.
> 
> I strongly object to that. A getter like homePage ought to be const, else
> its suggesting to do something other than fetching some data.
> 
> As David said, either use const-cast, or maybe you should fix the rest of
> the calling chain to also be const.

Hm, ok but than I'd say other places have to become const as well:

Provider:
- documentationForIndex (same problem with parent as above)
- documentationForDeclaration (again, same)
- indexModel (this one definitely, will change it asap)
- jumpedTo (since it only emits addHistory with a IDocumentation ptr)

Documentation:
- provider() should return a const KDevelop::IDocumentationProvider*

Should I do that? Imo having it all const I'd have no problems what-so-ever 
and wouldn't require any const-casts. The provider stays the same, the 
DocumentationController is the one that changes.
-- 
Milian Wolff
mail at milianw.de
http://milianw.de




More information about the KDevelop-devel mailing list