> On Sept. 15, 2013, 8:37 a.m., David Faure wrote:
> > Only some docu is missing: @since 5.0 in the new namespace (or its methods, 
> > rather), and porting instructions in KDE5PORTING.html

Thanks :). The pushed version includes the requested docs changes.


- Eike


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/112722/#review40048
-----------------------------------------------------------


On Sept. 15, 2013, 11:33 p.m., Eike Hein wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/112722/
> -----------------------------------------------------------
> 
> (Updated Sept. 15, 2013, 11:33 p.m.)
> 
> 
> Review request for KDE Frameworks and David Faure.
> 
> 
> Description
> -------
> 
> In KF5, KAuthorized was split into two: KCoreAuthorized, in KConfig, and 
> KAuthorized, in KIO. Despite the name, KCoreAuthorized offers functions in 
> the KAuthorized namespace, and KAuthorized extends it with additional 
> functions that require KIO APIs.
> 
> This causes the following problems:
> 
> * The majority of users of the framework want to use the functions offered in 
> KCoreAuthorized, but when they include "kcoreauthorized.h", they have to use 
> the KAuthorized namespace to access them. This sort of non-mapping is bad for 
> the brain :).
> 
> * While "kauthorized.h" remaining available via KIO succeds in preserving SC, 
> it does so by muddled-up lib dependencies: Stuff that doesn't actually need 
> KIO might end up linking to it just to avoid changing sources, or just 
> because someone greps for "KAuthorized" and finds the copy in KIO (this is 
> what happened to me in the Task Manager and made me investigate).
> 
> The proposed patch does the following to address this:
> 
> * KCoreAuthorized in KConfig is renamed to KAuthorized. This fixes the 
> include-to-namespace mapping problem and continues to preserve SC for the 
> majority of users.
> 
> * KAuthorized in KIO is renamed to KUrlAuthorized to hold the 
> URL/KIO-specific functions in the eponymous namespace. This means the few 
> users of those functions (e.g. KHTML) need to be ported to new API.
> 
> The bottom line is that this avoids users linking to the wrong API for no 
> reason and continues to preserve SC for the majority of users while 
> unfortunately causing porting effort for some users. Most existing users will 
> be unaffected and gain the ability to stop linking KIO if they don't need it. 
> New users won't be confused over why something as canonical-sounding as 
> KAuthorized is in KIO.
> 
> The alternative would have been to keep the KCoreAuthorized and KAuthorized 
> names and locations, and add forwarders with deprecation notices to 
> KAuthorized for the functions offered in KCoreAuthorized. However, this would 
> mean duplication and a lot of porting churn away from deprecated API, and in 
> the meantime not address the linking issue.
> 
> This change was discussed with and tentatively agreed upon (pre-code) by 
> dfaure.
> 
> 
> Diffs
> -----
> 
>   includes/CMakeLists.txt bcd3789 
>   kfile/kdirselectdialog.cpp ac4a194 
>   kfile/kfilewidget.cpp 4901fcd 
>   khtml/java/kjavaappletviewer.cpp b10d993 
>   khtml/khtml_part.cpp b0e31ce 
>   khtml/misc/loader.cpp cf451be 
>   khtml/xml/dom_docimpl.cpp 2b6125d 
>   kio/kfile/kpropertiesdialog.cpp 359ffab 
>   kio/misc/ktelnetservice.cpp 1c0d517 
>   kutils/kcmultidialog.cpp 5286866 
>   staging/kbookmarks/src/kbookmarkmenu.cc 6c1569c 
>   staging/kcompletion/src/klineedit.cpp 76ef377 
>   staging/kde4support/src/kdeui/kapplication.cpp 12092e9 
>   staging/kio/src/core/CMakeLists.txt 4897d5f 
>   staging/kio/src/core/job.cpp 511d1cc 
>   staging/kio/src/core/kauthorized.h 473725d 
>   staging/kio/src/core/kauthorized.cpp b930715 
>   staging/kio/src/core/kurlauthorized.h PRE-CREATION 
>   staging/kio/src/core/kurlauthorized.cpp PRE-CREATION 
>   staging/kio/src/core/mkdirjob.cpp 9ed00b0 
>   staging/kio/src/widgets/accessmanagerreply_p.cpp ad9b4f7 
>   staging/kio/src/widgets/kfileitemactions.cpp 99d3209 
>   staging/kio/src/widgets/kopenwithdialog.cpp b46e1ee 
>   staging/kio/src/widgets/krun.cpp aba4d7a 
>   staging/kio/src/widgets/kurlcompletion.cpp 80a4023 
>   staging/kservice/src/services/kservice.cpp dea8618 
>   staging/xmlgui/src/kactioncollection.cpp 5085f53 
>   staging/xmlgui/src/khelpmenu.cpp cfc52a0 
>   staging/xmlgui/src/ktoolbar.cpp 6a59874 
>   staging/xmlgui/src/ktoolbarhandler.cpp 162de5a 
>   staging/xmlgui/src/kxmlguibuilder.cpp 6eb8a51 
>   staging/xmlgui/src/kxmlguiclient.cpp 809033f 
>   tier1/kconfig/src/core/CMakeLists.txt 51e21ff 
>   tier1/kconfig/src/core/kauthorized.h PRE-CREATION 
>   tier1/kconfig/src/core/kauthorized.cpp PRE-CREATION 
>   tier1/kconfig/src/core/kcoreauthorized.h 2a3d79e 
>   tier1/kconfig/src/core/kcoreauthorized.cpp 97cbc79 
>   tier1/kconfig/src/core/kdesktopfile.cpp a0d5cb8 
> 
> Diff: http://git.reviewboard.kde.org/r/112722/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Eike Hein
> 
>

_______________________________________________
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel

Reply via email to