On Wed, Mar 28, 2012 at 3:46 PM, Dario Freddi <drf54...@gmail.com> wrote:
> Il 23 marzo 2012 06:15, Weng Xuetian <wen...@gmail.com> ha scritto:
>> On Fri, Mar 23, 2012 at 6:53 AM, Albert Astals Cid <aa...@kde.org> wrote:
>>> El Dimarts, 20 de març de 2012, a les 12:26:05, Weng Xuetian va escriure:
>>>> Hi,
>>>
>>> Hi
>>>
>>>> I'm currently implementing a library that require network access, and I 
>>>> need
>>>> some custom url such as "myapp://" to do oauth callback, so I create a
>>>> class inherits QNetworkAccessManager.
>>>>
>>>> But I found if anyone want to KDE's KIO::Integration::AccessManager to
>>>> replace the NetworkAccessManager in order to use KDE proxy setting and KIO,
>>>> there will be some problem. I don't want this library hardly depends on
>>>> KDE, but I also hope it can integrate with KDE well.
>>>>
>>>> I read attica's code but seems it use a custom interface, which is not
>>>> fesible here since I need to set the NetworkAccessManager to the QWebView.
>>>>
>>>> Any idea about how to solve this problem? Is simply keep a pointer to the
>>>> old networkmanager and redirect createRequest to it enough?
>>>
>>> I think you could make your QNetworkAccessManager have a
>>> setNonMyAppAccessManager() and then all the calls that happen to your
>>> MyAppNetworkAccessManager that are not myapp:// you redirected them to the
>>> QNetworkAccessManager passed there.
>>>
>>> I'm not a huge expert in QNetworkAccessManager but it could work. So give 
>>> it a
>>> try :-)
>>>
>>> Cheers,
>>>  Albert
>>>
>>>>
>> I don't think so... since all other call to QNetworkAccessManager will be 
>> wrong.
>
> The solution Albert proposed is actually correct instead, and already
> used by several other applications/libraries. Obviously, you would
> have to construct a default QNetworkAccessManager if none is supplied
> from the outside. This also would make your whole library
> implementation more flexible also outside the KDE realm.
>
>>
>> Anyway.. I try a different solution, create two plugin, which have the
>> similar logic at the createRequest, though some of code are duplicate,
>> but it's small and will works.
>>
>>>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe 
>>>> <<
>
>>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<

The problem is, I need to override the default createRequest, even for
the KIO::AccessManager, in order to process OAuth custom callback.

Here is my approach: https://github.com/csslayer/qcloud/tree/master/network/kde

This is actually a plugin and can create custom networkaccessmanager
object , which derive from KIO::AccessManager.

>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<

Reply via email to