Skip to content

Commit dd5d7c0

Browse files
authored
Merge pull request #72 from Doy-lee/doyle-make-c-strings-extern
Make C strings in header extern and move into CPP file
2 parents 3733a7e + 4e02d68 commit dd5d7c0

File tree

4 files changed

+68
-65
lines changed

4 files changed

+68
-65
lines changed

include/session/pro_backend.h

Lines changed: 2 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -104,43 +104,8 @@ struct session_pro_backend_payment_provider_metadata {
104104

105105
/// The centralised list of common URLs and properties for handling payment provider specific
106106
/// integrations. Especially useful for cross-device management of Session Pro subscriptions.
107-
// clang-format off
108-
const session_pro_backend_payment_provider_metadata SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_COUNT] = {
109-
/*SESSION_PRO_PAYMENT_PROVIDER_NIL*/ {
110-
.device = string8_literal(""),
111-
.store = string8_literal(""),
112-
.platform = string8_literal(""),
113-
.platform_account = string8_literal(""),
114-
.refund_platform_url = string8_literal(""),
115-
.refund_support_url = string8_literal(""),
116-
.refund_status_url = string8_literal(""),
117-
.update_subscription_url = string8_literal(""),
118-
.cancel_subscription_url = string8_literal(""),
119-
},
120-
/*SESSION_PRO_PAYMENT_PROVIDER_GOOGLE_PLAY_STORE*/ {
121-
.device = string8_literal("Android"),
122-
.store = string8_literal("Google Play Store"),
123-
.platform = string8_literal("Google"),
124-
.platform_account = string8_literal("Google account"),
125-
.refund_platform_url = string8_literal("https://support.google.com/googleplay/workflow/9813244?"),
126-
.refund_support_url = string8_literal("https://getsession.org/android-refund"),
127-
.refund_status_url = string8_literal("https://getsession.org/android-refund"),
128-
.update_subscription_url = string8_literal("https://play.google.com/store/account/subscriptions?package=network.loki.messenger"),
129-
.cancel_subscription_url = string8_literal("https://play.google.com/store/account/subscriptions?package=network.loki.messenger"),
130-
},
131-
/*SESSION_PRO_PAYMENT_PROVIDER_IOS_APP_STORE*/ {
132-
.device = string8_literal("iOS"),
133-
.store = string8_literal("Apple App Store"),
134-
.platform = string8_literal("Apple"),
135-
.platform_account = string8_literal("Apple account"),
136-
.refund_platform_url = string8_literal("https://support.apple.com/118223"),
137-
.refund_support_url = string8_literal("https://support.apple.com/118223"),
138-
.refund_status_url = string8_literal("https://support.apple.com/118224"),
139-
.update_subscription_url = string8_literal("https://apps.apple.com/account/subscriptions"),
140-
.cancel_subscription_url = string8_literal("https://account.apple.com/account/manage/section/subscriptions"),
141-
}
142-
};
143-
// clang-format on
107+
extern const session_pro_backend_payment_provider_metadata
108+
SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_COUNT];
144109

145110
typedef struct session_pro_backend_response_header session_pro_backend_response_header;
146111
struct session_pro_backend_response_header {

include/session/session_protocol.h

Lines changed: 1 addition & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -69,34 +69,7 @@ struct session_protocol_strings {
6969
string8 url_token;
7070
string8 url_translate;
7171
};
72-
73-
// clang-format off
74-
const session_protocol_strings SESSION_PROTOCOL_STRINGS = {
75-
.build_variant_apk = string8_literal("APK"),
76-
.build_variant_fdroid = string8_literal("F-Droid Store"),
77-
.build_variant_huawei = string8_literal("Huawei App Gallery"),
78-
.build_variant_ipa = string8_literal("IPA"),
79-
.url_donations = string8_literal("https://getsession.org/donate"),
80-
.url_donations_app = string8_literal("https://getsession.org/donate#app"),
81-
.url_download = string8_literal("https://getsession.org/download"),
82-
.url_faq = string8_literal("https://getsession.org/faq"),
83-
.url_feedback = string8_literal("https://getsession.org/feedback"),
84-
.url_network = string8_literal("https://docs.getsession.org/session-network"),
85-
.url_privacy_policy = string8_literal("https://getsession.org/privacy-policy"),
86-
.url_pro_access_not_found = string8_literal("https://sessionapp.zendesk.com/hc/sections/4416517450649-Support"),
87-
.url_pro_faq = string8_literal("https://getsession.org/faq#pro"),
88-
.url_pro_privacy_policy = string8_literal("https://getsession.org/pro/privacy"),
89-
.url_pro_roadmap = string8_literal("https://getsession.org/pro-roadmap"),
90-
.url_pro_support = string8_literal("https://getsession.org/pro-form"),
91-
.url_pro_terms_of_service = string8_literal("https://getsession.org/pro/terms"),
92-
.url_staking = string8_literal("https://docs.getsession.org/session-network/staking"),
93-
.url_support = string8_literal("https://getsession.org/support"),
94-
.url_survey = string8_literal("https://getsession.org/survey"),
95-
.url_terms_of_service = string8_literal("https://getsession.org/terms-of-service"),
96-
.url_token = string8_literal("https://token.getsession.org"),
97-
.url_translate = string8_literal("https://getsession.org/translate"),
98-
};
99-
// clang-format on
72+
extern const session_protocol_strings SESSION_PROTOCOL_STRINGS;
10073

10174
typedef enum SESSION_PROTOCOL_PRO_STATUS { // See session::ProStatus
10275
SESSION_PROTOCOL_PRO_STATUS_NIL,

src/pro_backend.cpp

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,43 @@
1212
#include <session/sodium_array.hpp>
1313
#include <session/types.hpp>
1414

15+
// clang-format off
16+
const session_pro_backend_payment_provider_metadata SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_COUNT] = {
17+
/*SESSION_PRO_PAYMENT_PROVIDER_NIL*/ {
18+
.device = string8_literal(""),
19+
.store = string8_literal(""),
20+
.platform = string8_literal(""),
21+
.platform_account = string8_literal(""),
22+
.refund_platform_url = string8_literal(""),
23+
.refund_support_url = string8_literal(""),
24+
.refund_status_url = string8_literal(""),
25+
.update_subscription_url = string8_literal(""),
26+
.cancel_subscription_url = string8_literal(""),
27+
},
28+
/*SESSION_PRO_PAYMENT_PROVIDER_GOOGLE_PLAY_STORE*/ {
29+
.device = string8_literal("Android"),
30+
.store = string8_literal("Google Play Store"),
31+
.platform = string8_literal("Google"),
32+
.platform_account = string8_literal("Google account"),
33+
.refund_platform_url = string8_literal("https://support.google.com/googleplay/workflow/9813244?"),
34+
.refund_support_url = string8_literal("https://getsession.org/android-refund"),
35+
.refund_status_url = string8_literal("https://getsession.org/android-refund"),
36+
.update_subscription_url = string8_literal("https://play.google.com/store/account/subscriptions?package=network.loki.messenger"),
37+
.cancel_subscription_url = string8_literal("https://play.google.com/store/account/subscriptions?package=network.loki.messenger"),
38+
},
39+
/*SESSION_PRO_PAYMENT_PROVIDER_IOS_APP_STORE*/ {
40+
.device = string8_literal("iOS"),
41+
.store = string8_literal("Apple App Store"),
42+
.platform = string8_literal("Apple"),
43+
.platform_account = string8_literal("Apple account"),
44+
.refund_platform_url = string8_literal("https://support.apple.com/118223"),
45+
.refund_support_url = string8_literal("https://support.apple.com/118223"),
46+
.refund_status_url = string8_literal("https://support.apple.com/118224"),
47+
.update_subscription_url = string8_literal("https://apps.apple.com/account/subscriptions"),
48+
.cancel_subscription_url = string8_literal("https://account.apple.com/account/manage/section/subscriptions"),
49+
}
50+
};
51+
1552
namespace {
1653
const nlohmann::json json_parse(std::string_view json, std::vector<std::string>& errors) {
1754
nlohmann::json result;

src/session_protocol.cpp

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,34 @@ static_assert(
3737
sizeof(SESSION_PROTOCOL_GET_PRO_DETAILS_HASH_PERSONALISATION) - 1 ==
3838
crypto_generichash_blake2b_PERSONALBYTES);
3939

40+
// clang-format off
41+
const session_protocol_strings SESSION_PROTOCOL_STRINGS = {
42+
.build_variant_apk = string8_literal("APK"),
43+
.build_variant_fdroid = string8_literal("F-Droid Store"),
44+
.build_variant_huawei = string8_literal("Huawei App Gallery"),
45+
.build_variant_ipa = string8_literal("IPA"),
46+
.url_donations = string8_literal("https://getsession.org/donate"),
47+
.url_donations_app = string8_literal("https://getsession.org/donate#app"),
48+
.url_download = string8_literal("https://getsession.org/download"),
49+
.url_faq = string8_literal("https://getsession.org/faq"),
50+
.url_feedback = string8_literal("https://getsession.org/feedback"),
51+
.url_network = string8_literal("https://docs.getsession.org/session-network"),
52+
.url_privacy_policy = string8_literal("https://getsession.org/privacy-policy"),
53+
.url_pro_access_not_found = string8_literal("https://sessionapp.zendesk.com/hc/sections/4416517450649-Support"),
54+
.url_pro_faq = string8_literal("https://getsession.org/faq#pro"),
55+
.url_pro_privacy_policy = string8_literal("https://getsession.org/pro/privacy"),
56+
.url_pro_roadmap = string8_literal("https://getsession.org/pro-roadmap"),
57+
.url_pro_support = string8_literal("https://getsession.org/pro-form"),
58+
.url_pro_terms_of_service = string8_literal("https://getsession.org/pro/terms"),
59+
.url_staking = string8_literal("https://docs.getsession.org/session-network/staking"),
60+
.url_support = string8_literal("https://getsession.org/support"),
61+
.url_survey = string8_literal("https://getsession.org/survey"),
62+
.url_terms_of_service = string8_literal("https://getsession.org/terms-of-service"),
63+
.url_token = string8_literal("https://token.getsession.org"),
64+
.url_translate = string8_literal("https://getsession.org/translate"),
65+
};
66+
// clang-format on
67+
4068
namespace {
4169
session::array_uc32 proof_hash_internal(
4270
std::uint8_t version,

0 commit comments

Comments
 (0)