From ce64ffdb9003171981534bc5d3e49147561ed096 Mon Sep 17 00:00:00 2001 From: Niels Sascha Reedijk Date: Fri, 22 Jan 2021 14:20:19 +0000 Subject: [PATCH] libnetservices.a: Put the experimental API into BPrivate::Network namespace In order to prevent classes between libnetapi.so with the legacy API and applications using the libnetservices.a library, the latter will have the classes in a distinct namespace. In the implementation, both libbnetapi.so and libnetservices.a will use the same header and source files. If LIBNETAPI_DEPRECATED is defined during build, the headers and source will have binary compatible behavior. Otherwise, the classes and other objects will be put in the HaikuExt namespace. In order to build the libbnetapi.so and libnetservices.a with the proper build configuration, there is a stub `src/kits/net/libnetapi_deprecated` folder that applies the special configuration to the source files. Currently HaikuDepot, Webpositive, libshared.a and the http_streamer add on use the compatible API in libbnetapi.so. Change-Id: Ic73e9f271ef75749adda46f6f72e9a0b2851b461 Reviewed-on: https://review.haiku-os.org/c/haiku/+/3667 Reviewed-by: Adrien Destugues --- headers/private/netservices/DataRequest.h | 12 ++++ headers/private/netservices/FileRequest.h | 11 ++++ headers/private/netservices/GopherRequest.h | 11 ++++ .../private/netservices/HttpAuthentication.h | 13 ++++ headers/private/netservices/HttpForm.h | 12 ++++ headers/private/netservices/HttpHeaders.h | 12 ++++ headers/private/netservices/HttpRequest.h | 12 ++++ headers/private/netservices/HttpResult.h | 11 ++++ headers/private/netservices/HttpTime.h | 10 ++- headers/private/netservices/NetworkCookie.h | 12 ++++ .../private/netservices/NetworkCookieJar.h | 12 ++++ headers/private/netservices/NetworkRequest.h | 11 ++++ headers/private/netservices/UrlContext.h | 13 ++++ .../UrlProtocolAsynchronousListener.h | 11 ++++ .../UrlProtocolDispatchingListener.h | 11 ++++ .../private/netservices/UrlProtocolListener.h | 13 ++++ .../private/netservices/UrlProtocolRoster.h | 13 ++++ headers/private/netservices/UrlRequest.h | 11 ++++ headers/private/netservices/UrlResult.h | 12 ++++ .../netservices/UrlSynchronousRequest.h | 12 ++++ .../media/plugins/http_streamer/Jamfile | 3 + src/apps/haikudepot/Jamfile | 3 + src/apps/webpositive/Jamfile | 3 + src/kits/network/Jamfile | 1 + src/kits/network/libnetapi_deprecated/Jamfile | 3 + .../network/libnetservices/DataRequest.cpp | 5 ++ .../network/libnetservices/FileRequest.cpp | 4 ++ .../network/libnetservices/GopherRequest.cpp | 5 ++ .../libnetservices/HttpAuthentication.cpp | 5 ++ src/kits/network/libnetservices/HttpForm.cpp | 3 + .../network/libnetservices/HttpHeaders.cpp | 4 ++ .../network/libnetservices/HttpRequest.cpp | 5 ++ .../network/libnetservices/HttpResult.cpp | 4 ++ src/kits/network/libnetservices/HttpTime.cpp | 4 ++ src/kits/network/libnetservices/JamCommon | 61 +++++++++++++++++++ src/kits/network/libnetservices/Jamfile | 50 +-------------- .../network/libnetservices/NetworkCookie.cpp | 9 ++- .../libnetservices/NetworkCookieJar.cpp | 4 ++ .../libnetservices/NetworkCookieJarPrivate.h | 7 +++ .../network/libnetservices/NetworkRequest.cpp | 4 ++ .../network/libnetservices/UrlContext.cpp | 4 ++ .../UrlProtocolAsynchronousListener.cpp | 5 ++ .../UrlProtocolDispatchingListener.cpp | 4 ++ .../libnetservices/UrlProtocolListener.cpp | 3 + .../libnetservices/UrlProtocolRoster.cpp | 3 + .../network/libnetservices/UrlRequest.cpp | 4 ++ src/kits/network/libnetservices/UrlResult.cpp | 4 ++ .../libnetservices/UrlSynchronousRequest.cpp | 3 + src/kits/package/Jamfile | 3 + src/kits/shared/Jamfile | 3 + 50 files changed, 405 insertions(+), 53 deletions(-) create mode 100644 src/kits/network/libnetapi_deprecated/Jamfile create mode 100644 src/kits/network/libnetservices/JamCommon diff --git a/headers/private/netservices/DataRequest.h b/headers/private/netservices/DataRequest.h index 8e4debf13e..8657af1c74 100644 --- a/headers/private/netservices/DataRequest.h +++ b/headers/private/netservices/DataRequest.h @@ -15,6 +15,12 @@ #include +#ifndef LIBNETAPI_DEPRECATED +namespace BPrivate { + +namespace Network { +#endif + class BDataRequest: public BUrlRequest { public: const BUrlResult& Result() const; @@ -30,4 +36,10 @@ private: BUrlResult fResult; }; +#ifndef LIBNETAPI_DEPRECATED +} // namespace Network + +} // namespace BPrivate +#endif + #endif diff --git a/headers/private/netservices/FileRequest.h b/headers/private/netservices/FileRequest.h index 6701860e40..ffc6d59bf9 100644 --- a/headers/private/netservices/FileRequest.h +++ b/headers/private/netservices/FileRequest.h @@ -13,6 +13,12 @@ #include +#ifndef LIBNETAPI_DEPRECATED +namespace BPrivate { + +namespace Network { +#endif + class BFileRequest : public BUrlRequest { public: virtual ~BFileRequest(); @@ -32,5 +38,10 @@ private: BUrlResult fResult; }; +#ifndef LIBNETAPI_DEPRECATED +} // namespace Network + +} // namespace BPrivate +#endif #endif // _B_FILE_REQUEST_H_ diff --git a/headers/private/netservices/GopherRequest.h b/headers/private/netservices/GopherRequest.h index 7e627c8078..d39ca5afa1 100644 --- a/headers/private/netservices/GopherRequest.h +++ b/headers/private/netservices/GopherRequest.h @@ -12,6 +12,12 @@ #include +#ifndef LIBNETAPI_DEPRECATED +namespace BPrivate { + +namespace Network { +#endif + class BGopherRequest : public BNetworkRequest { public: virtual ~BGopherRequest(); @@ -45,5 +51,10 @@ private: BUrlResult fResult; }; +#ifndef LIBNETAPI_DEPRECATED +} // namespace Network + +} // namespace BPrivate +#endif #endif // _B_GOPHER_REQUEST_H_ diff --git a/headers/private/netservices/HttpAuthentication.h b/headers/private/netservices/HttpAuthentication.h index 8334f581bf..ff66ba1070 100644 --- a/headers/private/netservices/HttpAuthentication.h +++ b/headers/private/netservices/HttpAuthentication.h @@ -10,6 +10,13 @@ #include #include + +#ifndef LIBNETAPI_DEPRECATED +namespace BPrivate { + +namespace Network { +#endif + // HTTP authentication method enum BHttpAuthenticationMethod { B_HTTP_AUTHENTICATION_NONE = 0, @@ -98,4 +105,10 @@ private: mutable BLocker fLock; }; +#ifndef LIBNETAPI_DEPRECATED +} // namespace Network + +} // namespace BPrivate +#endif + #endif // _B_HTTP_AUTHENTICATION_H_ diff --git a/headers/private/netservices/HttpForm.h b/headers/private/netservices/HttpForm.h index ff7cee2972..3c56da1505 100644 --- a/headers/private/netservices/HttpForm.h +++ b/headers/private/netservices/HttpForm.h @@ -12,6 +12,12 @@ #include +#ifndef LIBNETAPI_DEPRECATED +namespace BPrivate { + +namespace Network { +#endif + enum form_type { B_HTTP_FORM_URL_ENCODED, B_HTTP_FORM_MULTIPART @@ -188,4 +194,10 @@ private: BHttpFormData* fPrevElement; }; +#ifndef LIBNETAPI_DEPRECATED +} // namespace Network + +} // namespace BPrivate +#endif + #endif // _B_HTTP_FORM_H_ diff --git a/headers/private/netservices/HttpHeaders.h b/headers/private/netservices/HttpHeaders.h index 0b22845b72..ff97953f91 100644 --- a/headers/private/netservices/HttpHeaders.h +++ b/headers/private/netservices/HttpHeaders.h @@ -11,6 +11,12 @@ #include +#ifndef LIBNETAPI_DEPRECATED +namespace BPrivate { + +namespace Network { +#endif + class BHttpHeader { public: BHttpHeader(); @@ -87,4 +93,10 @@ private: BList fHeaderList; }; +#ifndef LIBNETAPI_DEPRECATED +} // namespace Network + +} // namespace BPrivate +#endif + #endif // _B_HTTP_HEADERS_H_ diff --git a/headers/private/netservices/HttpRequest.h b/headers/private/netservices/HttpRequest.h index 9b8d5df9d2..36cd511e97 100644 --- a/headers/private/netservices/HttpRequest.h +++ b/headers/private/netservices/HttpRequest.h @@ -23,6 +23,12 @@ namespace BPrivate { }; +#ifndef LIBNETAPI_DEPRECATED +namespace BPrivate { + +namespace Network { +#endif + class BHttpRequest : public BNetworkRequest { public: virtual ~BHttpRequest(); @@ -237,4 +243,10 @@ enum http_status_code { // HTTP default User-Agent #define B_HTTP_PROTOCOL_USER_AGENT_FORMAT "ServicesKit (%s)" +#ifndef LIBNETAPI_DEPRECATED +} // namespace Network + +} // namespace BPrivate +#endif + #endif // _B_URL_PROTOCOL_HTTP_H_ diff --git a/headers/private/netservices/HttpResult.h b/headers/private/netservices/HttpResult.h index 9875f99d5b..cc79362018 100644 --- a/headers/private/netservices/HttpResult.h +++ b/headers/private/netservices/HttpResult.h @@ -14,6 +14,12 @@ #include +#ifndef LIBNETAPI_DEPRECATED +namespace BPrivate { + +namespace Network { +#endif + class BUrlRequest; @@ -55,5 +61,10 @@ private: BString fStatusString; }; +#ifndef LIBNETAPI_DEPRECATED +} // namespace Network + +} // namespace BPrivate +#endif #endif // _B_URL_RESULT_H_ diff --git a/headers/private/netservices/HttpTime.h b/headers/private/netservices/HttpTime.h index 7f622de8b3..68f4454243 100644 --- a/headers/private/netservices/HttpTime.h +++ b/headers/private/netservices/HttpTime.h @@ -12,6 +12,10 @@ namespace BPrivate { +#ifndef LIBNETAPI_DEPRECATED +namespace Network { +#endif + enum { B_HTTP_TIME_FORMAT_PARSED = -1, B_HTTP_TIME_FORMAT_RFC1123 = 0, @@ -43,5 +47,9 @@ private: int8 fDateFormat; }; -} +#ifndef LIBNETAPI_DEPRECATED +} // namespace Network +#endif + +} // namespace BPrivate #endif // _B_HTTP_TIME_H_ diff --git a/headers/private/netservices/NetworkCookie.h b/headers/private/netservices/NetworkCookie.h index e676ed036a..9c5b797c3d 100644 --- a/headers/private/netservices/NetworkCookie.h +++ b/headers/private/netservices/NetworkCookie.h @@ -13,6 +13,12 @@ #include +#ifndef LIBNETAPI_DEPRECATED +namespace BPrivate { + +namespace Network { +#endif + class BNetworkCookie : public BArchivable { public: BNetworkCookie(const char* name, @@ -110,5 +116,11 @@ private: bool fSessionCookie; }; +#ifndef LIBNETAPI_DEPRECATED +} // namespace Network + +} // namespace BPrivate +#endif + #endif // _B_NETWORK_COOKIE_H_ diff --git a/headers/private/netservices/NetworkCookieJar.h b/headers/private/netservices/NetworkCookieJar.h index 6efba2642f..fddae9f6a9 100644 --- a/headers/private/netservices/NetworkCookieJar.h +++ b/headers/private/netservices/NetworkCookieJar.h @@ -16,6 +16,12 @@ #include +#ifndef LIBNETAPI_DEPRECATED +namespace BPrivate { + +namespace Network { +#endif + class BNetworkCookieList: public BObjectList { public: BNetworkCookieList(); @@ -158,4 +164,10 @@ private: BUrl fUrl; }; +#ifndef LIBNETAPI_DEPRECATED +} // namespace Network + +} // namespace BPrivate +#endif + #endif // _B_NETWORK_COOKIE_JAR_ diff --git a/headers/private/netservices/NetworkRequest.h b/headers/private/netservices/NetworkRequest.h index f4ab01529a..15650d827e 100644 --- a/headers/private/netservices/NetworkRequest.h +++ b/headers/private/netservices/NetworkRequest.h @@ -14,6 +14,12 @@ class BAbstractSocket; +#ifndef LIBNETAPI_DEPRECATED +namespace BPrivate { + +namespace Network { +#endif + class BNetworkRequest: public BUrlRequest { public: @@ -39,5 +45,10 @@ protected: BNetBuffer fInputBuffer; }; +#ifndef LIBNETAPI_DEPRECATED +} // namespace Network + +} // namespace BPrivate +#endif #endif diff --git a/headers/private/netservices/UrlContext.h b/headers/private/netservices/UrlContext.h index 97836abf73..cc880b4783 100644 --- a/headers/private/netservices/UrlContext.h +++ b/headers/private/netservices/UrlContext.h @@ -14,6 +14,12 @@ #include +#ifndef LIBNETAPI_DEPRECATED +namespace BPrivate { + +namespace Network { +#endif + class BUrlContext: public BReferenceable { public: BUrlContext(); @@ -49,4 +55,11 @@ private: }; +#ifndef LIBNETAPI_DEPRECATED +} // namespace Network + +} // namespace BPrivate +#endif + + #endif // _B_URL_CONTEXT_H_ diff --git a/headers/private/netservices/UrlProtocolAsynchronousListener.h b/headers/private/netservices/UrlProtocolAsynchronousListener.h index 910cec0e26..4c5db18279 100644 --- a/headers/private/netservices/UrlProtocolAsynchronousListener.h +++ b/headers/private/netservices/UrlProtocolAsynchronousListener.h @@ -10,6 +10,11 @@ #include #include +#ifndef LIBNETAPI_DEPRECATED +namespace BPrivate { + +namespace Network { +#endif class BUrlProtocolAsynchronousListener : public BHandler, public BUrlProtocolListener { @@ -28,6 +33,12 @@ private: BUrlProtocolDispatchingListener* fSynchronousListener; }; +#ifndef LIBNETAPI_DEPRECATED +} // namespace Network + +} // namespace BPrivate +#endif + #endif // _B_URL_PROTOCOL_ASYNCHRONOUS_LISTENER_H_ diff --git a/headers/private/netservices/UrlProtocolDispatchingListener.h b/headers/private/netservices/UrlProtocolDispatchingListener.h index 0107c2cfdc..a81a73b23f 100644 --- a/headers/private/netservices/UrlProtocolDispatchingListener.h +++ b/headers/private/netservices/UrlProtocolDispatchingListener.h @@ -10,6 +10,11 @@ #include #include +#ifndef LIBNETAPI_DEPRECATED +namespace BPrivate { + +namespace Network { +#endif //! To be in AppTypes.h enum { @@ -71,5 +76,11 @@ private: BMessenger fMessenger; }; +#ifndef LIBNETAPI_DEPRECATED +} // namespace Network + +} // namespace BPrivate +#endif + #endif // _B_URL_PROTOCOL_DISPATCHING_LISTENER_H_ diff --git a/headers/private/netservices/UrlProtocolListener.h b/headers/private/netservices/UrlProtocolListener.h index 1aefd13757..b6c28655ba 100644 --- a/headers/private/netservices/UrlProtocolListener.h +++ b/headers/private/netservices/UrlProtocolListener.h @@ -13,6 +13,13 @@ class BCertificate; + +#ifndef LIBNETAPI_DEPRECATED +namespace BPrivate { + +namespace Network { +#endif + class BUrlRequest; @@ -52,4 +59,10 @@ public: const char* message); }; +#ifndef LIBNETAPI_DEPRECATED +} // namespace Network + +} // namespace BPrivate +#endif + #endif // _B_URL_PROTOCOL_LISTENER_H_ diff --git a/headers/private/netservices/UrlProtocolRoster.h b/headers/private/netservices/UrlProtocolRoster.h index 3e541493dc..b763f4c0c8 100644 --- a/headers/private/netservices/UrlProtocolRoster.h +++ b/headers/private/netservices/UrlProtocolRoster.h @@ -11,6 +11,13 @@ class BUrl; + +#ifndef LIBNETAPI_DEPRECATED +namespace BPrivate { + +namespace Network { +#endif + class BUrlContext; class BUrlProtocolListener; class BUrlRequest; @@ -22,4 +29,10 @@ public: BUrlContext* context = NULL); }; +#ifndef LIBNETAPI_DEPRECATED +} // namespace Network + +} // namespace BPrivate +#endif + #endif diff --git a/headers/private/netservices/UrlRequest.h b/headers/private/netservices/UrlRequest.h index 1a323fae81..74c8eb0002 100644 --- a/headers/private/netservices/UrlRequest.h +++ b/headers/private/netservices/UrlRequest.h @@ -14,6 +14,12 @@ #include +#ifndef LIBNETAPI_DEPRECATED +namespace BPrivate { + +namespace Network { +#endif + class BUrlRequest { public: BUrlRequest(const BUrl& url, @@ -66,5 +72,10 @@ protected: BString fProtocol; }; +#ifndef LIBNETAPI_DEPRECATED +} // namespace Network + +} // namespace BPrivate +#endif #endif // _B_URL_REQUEST_H_ diff --git a/headers/private/netservices/UrlResult.h b/headers/private/netservices/UrlResult.h index a0feb35dfd..594b277256 100644 --- a/headers/private/netservices/UrlResult.h +++ b/headers/private/netservices/UrlResult.h @@ -10,6 +10,12 @@ #include +#ifndef LIBNETAPI_DEPRECATED +namespace BPrivate { + +namespace Network { +#endif + class BUrlResult: public BArchivable { public: BUrlResult(); @@ -31,4 +37,10 @@ private: size_t fLength; }; +#ifndef LIBNETAPI_DEPRECATED +} // namespace Network + +} // namespace BPrivate +#endif + #endif diff --git a/headers/private/netservices/UrlSynchronousRequest.h b/headers/private/netservices/UrlSynchronousRequest.h index 4a7dbfc3ef..17dfe6780c 100644 --- a/headers/private/netservices/UrlSynchronousRequest.h +++ b/headers/private/netservices/UrlSynchronousRequest.h @@ -10,6 +10,12 @@ #include +#ifndef LIBNETAPI_DEPRECATED +namespace BPrivate { + +namespace Network { +#endif + class BUrlSynchronousRequest : public BUrlRequest, public BUrlProtocolListener { public: BUrlSynchronousRequest(BUrlRequest& asynchronousRequest); @@ -43,4 +49,10 @@ protected: }; +#ifndef LIBNETAPI_DEPRECATED +} // namespace Network + +} // namespace BPrivate +#endif + #endif // _B_URL_SYNCHRONOUS_REQUEST_H_ diff --git a/src/add-ons/media/plugins/http_streamer/Jamfile b/src/add-ons/media/plugins/http_streamer/Jamfile index 5d28db78cc..bc9031dbde 100644 --- a/src/add-ons/media/plugins/http_streamer/Jamfile +++ b/src/add-ons/media/plugins/http_streamer/Jamfile @@ -3,6 +3,9 @@ SubDir HAIKU_TOP src add-ons media plugins http_streamer ; UsePrivateHeaders media netservices shared ; UsePrivateHeaders [ FDirName media experimental ] ; +# Use the deprecated libnetapi.so classes +SubDirC++Flags [ FDefines LIBNETAPI_DEPRECATED ] ; + local architectureObject ; for architectureObject in [ MultiArchSubDirSetup ] { on $(architectureObject) { diff --git a/src/apps/haikudepot/Jamfile b/src/apps/haikudepot/Jamfile index f8f24f1305..b79edf8d14 100644 --- a/src/apps/haikudepot/Jamfile +++ b/src/apps/haikudepot/Jamfile @@ -229,6 +229,9 @@ local generatedReferenceParserSourceFiles = DumpExportReferenceJsonListener.cpp ; +# Use the deprecated libnetapi.so network classes +SubDirC++Flags [ FDefines LIBNETAPI_DEPRECATED ] ; + Application HaikuDepot : $(applicationSources) diff --git a/src/apps/webpositive/Jamfile b/src/apps/webpositive/Jamfile index e2bc7783bb..405fcab069 100644 --- a/src/apps/webpositive/Jamfile +++ b/src/apps/webpositive/Jamfile @@ -3,6 +3,9 @@ SubDir HAIKU_TOP src apps webpositive ; SubDirC++Flags $(defines) -Wno-error=sequence-point -Wno-error=format-truncation ; SubDirCcFlags $(defines) -Wno-error=sequence-point -Wno-error=format-truncation ; +# Use the deprecated libnetapi.so classes +SubDirC++Flags [ FDefines LIBNETAPI_DEPRECATED ] ; + # source directories local sourceDirs = autocompletion diff --git a/src/kits/network/Jamfile b/src/kits/network/Jamfile index ea77dcc433..c4a447a174 100644 --- a/src/kits/network/Jamfile +++ b/src/kits/network/Jamfile @@ -1,4 +1,5 @@ SubDir HAIKU_TOP src kits network ; SubInclude HAIKU_TOP src kits network libnetapi ; +SubInclude HAIKU_TOP src kits network libnetapi_deprecated ; SubInclude HAIKU_TOP src kits network libnetservices ; diff --git a/src/kits/network/libnetapi_deprecated/Jamfile b/src/kits/network/libnetapi_deprecated/Jamfile new file mode 100644 index 0000000000..b8f78ff653 --- /dev/null +++ b/src/kits/network/libnetapi_deprecated/Jamfile @@ -0,0 +1,3 @@ +SubDir HAIKU_TOP src kits network libnetapi_deprecated ; + +include [ FDirName $(HAIKU_TOP) src kits network libnetservices JamCommon ] ; diff --git a/src/kits/network/libnetservices/DataRequest.cpp b/src/kits/network/libnetservices/DataRequest.cpp index a9ece68851..79583d7283 100644 --- a/src/kits/network/libnetservices/DataRequest.cpp +++ b/src/kits/network/libnetservices/DataRequest.cpp @@ -15,6 +15,11 @@ #include +#ifndef LIBNETAPI_DEPRECATED +using namespace BPrivate::Network; +#endif + + BDataRequest::BDataRequest(const BUrl& url, BUrlProtocolListener* listener, BUrlContext* context) : BUrlRequest(url, listener, context, "data URL parser", "data"), diff --git a/src/kits/network/libnetservices/FileRequest.cpp b/src/kits/network/libnetservices/FileRequest.cpp index 02b0103480..43599f88e3 100644 --- a/src/kits/network/libnetservices/FileRequest.cpp +++ b/src/kits/network/libnetservices/FileRequest.cpp @@ -17,6 +17,10 @@ #include +#ifndef LIBNETAPI_DEPRECATED +using namespace BPrivate::Network; +#endif + BFileRequest::BFileRequest(const BUrl& url, BUrlProtocolListener* listener, BUrlContext* context) : diff --git a/src/kits/network/libnetservices/GopherRequest.cpp b/src/kits/network/libnetservices/GopherRequest.cpp index 9e3edf754a..8713192ee8 100644 --- a/src/kits/network/libnetservices/GopherRequest.cpp +++ b/src/kits/network/libnetservices/GopherRequest.cpp @@ -23,6 +23,11 @@ #include #include + +#ifndef LIBNETAPI_DEPRECATED +using namespace BPrivate::Network; +#endif + /* * TODO: fix '+' in selectors, cf. gopher://gophernicus.org/1/doc/gopher/ * TODO: add proper favicon diff --git a/src/kits/network/libnetservices/HttpAuthentication.cpp b/src/kits/network/libnetservices/HttpAuthentication.cpp index 30b9feeddb..42c9731d55 100644 --- a/src/kits/network/libnetservices/HttpAuthentication.cpp +++ b/src/kits/network/libnetservices/HttpAuthentication.cpp @@ -15,6 +15,11 @@ #include +#ifndef LIBNETAPI_DEPRECATED +using namespace BPrivate::Network; +#endif + + #if DEBUG > 0 #define PRINT(x) printf x #else diff --git a/src/kits/network/libnetservices/HttpForm.cpp b/src/kits/network/libnetservices/HttpForm.cpp index cfebcbd5bc..3620f953d5 100644 --- a/src/kits/network/libnetservices/HttpForm.cpp +++ b/src/kits/network/libnetservices/HttpForm.cpp @@ -23,6 +23,9 @@ static int32 kBoundaryRandomSize = 16; using namespace std; +#ifndef LIBNETAPI_DEPRECATED +using namespace BPrivate::Network; +#endif // #pragma mark - BHttpFormData diff --git a/src/kits/network/libnetservices/HttpHeaders.cpp b/src/kits/network/libnetservices/HttpHeaders.cpp index 9895f578c5..9757b8da67 100644 --- a/src/kits/network/libnetservices/HttpHeaders.cpp +++ b/src/kits/network/libnetservices/HttpHeaders.cpp @@ -15,6 +15,10 @@ #include +#ifndef LIBNETAPI_DEPRECATED +using namespace BPrivate::Network; +#endif + // #pragma mark -- BHttpHeader diff --git a/src/kits/network/libnetservices/HttpRequest.cpp b/src/kits/network/libnetservices/HttpRequest.cpp index 6eae914945..d427ef9107 100644 --- a/src/kits/network/libnetservices/HttpRequest.cpp +++ b/src/kits/network/libnetservices/HttpRequest.cpp @@ -34,6 +34,11 @@ static const int32 kHttpBufferSize = 4096; +#ifndef LIBNETAPI_DEPRECATED +using namespace BPrivate::Network; +#endif + + namespace BPrivate { class CheckedSecureSocket: public BSecureSocket diff --git a/src/kits/network/libnetservices/HttpResult.cpp b/src/kits/network/libnetservices/HttpResult.cpp index 41aa4fba87..ef8bd6fa7b 100644 --- a/src/kits/network/libnetservices/HttpResult.cpp +++ b/src/kits/network/libnetservices/HttpResult.cpp @@ -15,6 +15,10 @@ using std::ostream; +#ifndef LIBNETAPI_DEPRECATED +using namespace BPrivate::Network; +#endif + BHttpResult::BHttpResult(const BUrl& url) : diff --git a/src/kits/network/libnetservices/HttpTime.cpp b/src/kits/network/libnetservices/HttpTime.cpp index 773c08fd75..11ee02d728 100644 --- a/src/kits/network/libnetservices/HttpTime.cpp +++ b/src/kits/network/libnetservices/HttpTime.cpp @@ -47,7 +47,11 @@ static const char* kDateFormats[] = { "%a %d %b %H:%M:%S %Y" }; +#ifdef LIBNETAPI_DEPRECATED using namespace BPrivate; +#else +using namespace BPrivate::Network; +#endif BHttpTime::BHttpTime() diff --git a/src/kits/network/libnetservices/JamCommon b/src/kits/network/libnetservices/JamCommon new file mode 100644 index 0000000000..dd35f03958 --- /dev/null +++ b/src/kits/network/libnetservices/JamCommon @@ -0,0 +1,61 @@ +# This module is built as an independent static library, and as a (deprecated) +# part of libnetapi.so. In the latter case LIBNETAPI_DEPRECATED will be defined +# to ensure binary compatibility. + +UsePrivateHeaders net netservices shared support ; + +local sources = + # FUTURE: The HTTP stuff should all go into an add-on. It needs + # linking against libcrypto.so and only the add-on should link + # against it. + DataRequest.cpp + HttpAuthentication.cpp + HttpHeaders.cpp + HttpForm.cpp + HttpRequest.cpp + HttpResult.cpp + + # FUTURE: another add-on for file:// (a much simpler one) + FileRequest.cpp + + # FUTURE: another add-on for gopher:// + GopherRequest.cpp + + HttpTime.cpp + NetworkCookie.cpp + NetworkCookieJar.cpp + + NetworkRequest.cpp + UrlContext.cpp + UrlProtocolAsynchronousListener.cpp + UrlProtocolDispatchingListener.cpp + UrlProtocolListener.cpp + UrlProtocolRoster.cpp + UrlRequest.cpp + UrlResult.cpp + UrlSynchronousRequest.cpp + ; + +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + local architecture = $(TARGET_PACKAGING_ARCH) ; + + if $(SUBDIR:B) = libnetapi_deprecated { + SubDirC++Flags [ FDefines LIBNETAPI_DEPRECATED ] ; + UseHeaders [ FDirName $(HAIKU_TOP) src kits network libnetservices ] : false ; + + MergeObject netservices.o : + $(sources) + : <$(architecture)>libshared.a + ; + } else { + StaticLibrary [ MultiArchDefaultGristFiles libnetservices.a ] : + $(sources) + ; + } + + SEARCH on [ FGristFiles $(sources) ] + = [ FDirName $(HAIKU_TOP) src kits network libnetservices ] ; + } +} diff --git a/src/kits/network/libnetservices/Jamfile b/src/kits/network/libnetservices/Jamfile index 6a6ece1466..7a3f7e66cd 100644 --- a/src/kits/network/libnetservices/Jamfile +++ b/src/kits/network/libnetservices/Jamfile @@ -1,51 +1,3 @@ SubDir HAIKU_TOP src kits network libnetservices ; -UsePrivateHeaders net netservices shared support ; - -local sources = - # FUTURE: The HTTP stuff should all go into an add-on. It needs - # linking against libcrypto.so and only the add-on should link - # against it. - DataRequest.cpp - HttpAuthentication.cpp - HttpHeaders.cpp - HttpForm.cpp - HttpRequest.cpp - HttpResult.cpp - - # FUTURE: another add-on for file:// (a much simpler one) - FileRequest.cpp - - # FUTURE: another add-on for gopher:// - GopherRequest.cpp - - HttpTime.cpp - NetworkCookie.cpp - NetworkCookieJar.cpp - - NetworkRequest.cpp - UrlContext.cpp - UrlProtocolAsynchronousListener.cpp - UrlProtocolDispatchingListener.cpp - UrlProtocolListener.cpp - UrlProtocolRoster.cpp - UrlRequest.cpp - UrlResult.cpp - UrlSynchronousRequest.cpp - ; - -local architectureObject ; -for architectureObject in [ MultiArchSubDirSetup ] { - on $(architectureObject) { - local architecture = $(TARGET_PACKAGING_ARCH) ; - - MergeObject netservices.o : - $(sources) - : <$(architecture)>libshared.a - ; - - StaticLibrary <$(architecture)>libnetservices.a : - $(sources) - ; - } -} +include [ FDirName $(HAIKU_TOP) src kits network libnetservices JamCommon ] ; diff --git a/src/kits/network/libnetservices/NetworkCookie.cpp b/src/kits/network/libnetservices/NetworkCookie.cpp index 317f5066c8..0a7db5b24c 100644 --- a/src/kits/network/libnetservices/NetworkCookie.cpp +++ b/src/kits/network/libnetservices/NetworkCookie.cpp @@ -20,9 +20,12 @@ #include #include - +#ifdef LIBNETAPI_DEPRECATED using BPrivate::BHttpTime; - +using BPrivate::B_HTTP_TIME_FORMAT_COOKIE; +#else +using namespace BPrivate::Network; +#endif static const char* kArchivedCookieName = "be:cookie.name"; static const char* kArchivedCookieValue = "be:cookie.value"; @@ -380,7 +383,7 @@ BNetworkCookie::ExpirationString() const BHttpTime date(fExpiration); if (!fExpirationStringValid) { - fExpirationString = date.ToString(BPrivate::B_HTTP_TIME_FORMAT_COOKIE); + fExpirationString = date.ToString(B_HTTP_TIME_FORMAT_COOKIE); fExpirationStringValid = true; } diff --git a/src/kits/network/libnetservices/NetworkCookieJar.cpp b/src/kits/network/libnetservices/NetworkCookieJar.cpp index 3014c69d5d..98412570fd 100644 --- a/src/kits/network/libnetservices/NetworkCookieJar.cpp +++ b/src/kits/network/libnetservices/NetworkCookieJar.cpp @@ -19,6 +19,10 @@ #include "NetworkCookieJarPrivate.h" +#ifndef LIBNETAPI_DEPRECATED +using namespace BPrivate::Network; +#endif + // #define TRACE_COOKIE #ifdef TRACE_COOKIE # define TRACE(x...) printf(x) diff --git a/src/kits/network/libnetservices/NetworkCookieJarPrivate.h b/src/kits/network/libnetservices/NetworkCookieJarPrivate.h index 6751496175..f47e9084dc 100644 --- a/src/kits/network/libnetservices/NetworkCookieJarPrivate.h +++ b/src/kits/network/libnetservices/NetworkCookieJarPrivate.h @@ -9,6 +9,13 @@ #include +#ifndef LIBNETAPI_DEPRECATED +using BPrivate::Network::BNetworkCookie; +using BPrivate::Network::BNetworkCookieJar; +using BPrivate::Network::BNetworkCookieList; +#endif + + typedef BPrivate::SynchronizedHashMap BNetworkCookieHashMap; diff --git a/src/kits/network/libnetservices/NetworkRequest.cpp b/src/kits/network/libnetservices/NetworkRequest.cpp index 8007558a3b..7d57095c57 100644 --- a/src/kits/network/libnetservices/NetworkRequest.cpp +++ b/src/kits/network/libnetservices/NetworkRequest.cpp @@ -14,6 +14,10 @@ #include +#ifndef LIBNETAPI_DEPRECATED +using namespace BPrivate::Network; +#endif + BNetworkRequest::BNetworkRequest(const BUrl& url, BUrlProtocolListener* listener, BUrlContext* context, const char* threadName, const char* protocolName) : diff --git a/src/kits/network/libnetservices/UrlContext.cpp b/src/kits/network/libnetservices/UrlContext.cpp index 6a1a0d23a8..c3d1bff546 100644 --- a/src/kits/network/libnetservices/UrlContext.cpp +++ b/src/kits/network/libnetservices/UrlContext.cpp @@ -16,6 +16,10 @@ #include +#ifndef LIBNETAPI_DEPRECATED +using namespace BPrivate::Network; +#endif + class BUrlContext::BHttpAuthenticationMap : public SynchronizedHashMap {}; diff --git a/src/kits/network/libnetservices/UrlProtocolAsynchronousListener.cpp b/src/kits/network/libnetservices/UrlProtocolAsynchronousListener.cpp index 710f0ccc64..115a7293fc 100644 --- a/src/kits/network/libnetservices/UrlProtocolAsynchronousListener.cpp +++ b/src/kits/network/libnetservices/UrlProtocolAsynchronousListener.cpp @@ -19,6 +19,11 @@ #include +#ifndef LIBNETAPI_DEPRECATED +using namespace BPrivate::Network; +#endif + + extern const char* kUrlProtocolMessageType; extern const char* kUrlProtocolCaller; diff --git a/src/kits/network/libnetservices/UrlProtocolDispatchingListener.cpp b/src/kits/network/libnetservices/UrlProtocolDispatchingListener.cpp index 59b40901f5..d241de90a5 100644 --- a/src/kits/network/libnetservices/UrlProtocolDispatchingListener.cpp +++ b/src/kits/network/libnetservices/UrlProtocolDispatchingListener.cpp @@ -16,6 +16,10 @@ #include +#ifndef LIBNETAPI_DEPRECATED +using namespace BPrivate::Network; +#endif + const char* kUrlProtocolMessageType = "be:urlProtocolMessageType"; const char* kUrlProtocolCaller = "be:urlProtocolCaller"; diff --git a/src/kits/network/libnetservices/UrlProtocolListener.cpp b/src/kits/network/libnetservices/UrlProtocolListener.cpp index 3a96d94a1f..5ea32bcde8 100644 --- a/src/kits/network/libnetservices/UrlProtocolListener.cpp +++ b/src/kits/network/libnetservices/UrlProtocolListener.cpp @@ -15,6 +15,9 @@ using namespace std; +#ifndef LIBNETAPI_DEPRECATED +using namespace BPrivate::Network; +#endif void BUrlProtocolListener::ConnectionOpened(BUrlRequest*) diff --git a/src/kits/network/libnetservices/UrlProtocolRoster.cpp b/src/kits/network/libnetservices/UrlProtocolRoster.cpp index 1284beeda1..eb8b240118 100644 --- a/src/kits/network/libnetservices/UrlProtocolRoster.cpp +++ b/src/kits/network/libnetservices/UrlProtocolRoster.cpp @@ -18,6 +18,9 @@ #include #include +#ifndef LIBNETAPI_DEPRECATED +using namespace BPrivate::Network; +#endif /* static */ BUrlRequest* BUrlProtocolRoster::MakeRequest(const BUrl& url, diff --git a/src/kits/network/libnetservices/UrlRequest.cpp b/src/kits/network/libnetservices/UrlRequest.cpp index c1e2042c14..c0b49c304e 100644 --- a/src/kits/network/libnetservices/UrlRequest.cpp +++ b/src/kits/network/libnetservices/UrlRequest.cpp @@ -12,6 +12,10 @@ #include +#ifndef LIBNETAPI_DEPRECATED +using namespace BPrivate::Network; +#endif + static BReference gDefaultContext = new(std::nothrow) BUrlContext(); diff --git a/src/kits/network/libnetservices/UrlResult.cpp b/src/kits/network/libnetservices/UrlResult.cpp index 454c71e397..49c70c1cef 100644 --- a/src/kits/network/libnetservices/UrlResult.cpp +++ b/src/kits/network/libnetservices/UrlResult.cpp @@ -10,6 +10,10 @@ #include +#ifndef LIBNETAPI_DEPRECATED +using namespace BPrivate::Network; +#endif + BUrlResult::BUrlResult() : BArchivable(), diff --git a/src/kits/network/libnetservices/UrlSynchronousRequest.cpp b/src/kits/network/libnetservices/UrlSynchronousRequest.cpp index 687ee224a1..d822c6500b 100644 --- a/src/kits/network/libnetservices/UrlSynchronousRequest.cpp +++ b/src/kits/network/libnetservices/UrlSynchronousRequest.cpp @@ -12,6 +12,9 @@ #define PRINT(x) printf x; +#ifndef LIBNETAPI_DEPRECATED +using namespace BPrivate::Network; +#endif BUrlSynchronousRequest::BUrlSynchronousRequest(BUrlRequest& request) : diff --git a/src/kits/package/Jamfile b/src/kits/package/Jamfile index e4fcb04372..4307a1b699 100644 --- a/src/kits/package/Jamfile +++ b/src/kits/package/Jamfile @@ -13,6 +13,9 @@ UsePrivateHeaders ; UsePrivateSystemHeaders ; +# Use the deprecated libnetapi.so classes +SubDirC++Flags [ FDefines LIBNETAPI_DEPRECATED ] ; + HPKG_SOURCES = AttributeDataReader.cpp BlockBufferPool.cpp diff --git a/src/kits/shared/Jamfile b/src/kits/shared/Jamfile index d10c0a6032..b89d43b367 100644 --- a/src/kits/shared/Jamfile +++ b/src/kits/shared/Jamfile @@ -9,6 +9,9 @@ if [ Glob $(SUBDIR) : DefaultGeolocationServiceKey.h ] { SubDirC++Flags [ FDefines HAVE_DEFAULT_GEOLOCATION_SERVICE_KEY ] ; } +# Use the deprecated libnetapi.so classes +SubDirC++Flags [ FDefines LIBNETAPI_DEPRECATED ] ; + local architectureObject ; for architectureObject in [ MultiArchSubDirSetup ] { on $(architectureObject) {