Skip to content

Commit 77b352a

Browse files
authored
Macos compile issues fixed! (#97)
* compile issue fixed! * destructor changes * changes * compile issue fixed on macos Co-authored-by: Zahid Zafar <>
1 parent 12dd770 commit 77b352a

File tree

2 files changed

+17
-10
lines changed

2 files changed

+17
-10
lines changed

src/countly.cpp

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,6 @@ Countly::Countly() {
2222
views_module = nullptr;
2323
logger.reset(new cly::LoggerModule());
2424
configuration.reset(new cly::CountlyConfiguration("", ""));
25-
26-
#if !defined(_WIN32) && !defined(COUNTLY_USE_CUSTOM_HTTP)
27-
curl_global_init(CURL_GLOBAL_ALL);
28-
#endif
2925
}
3026

3127
Countly::~Countly() {
@@ -34,10 +30,6 @@ Countly::~Countly() {
3430
crash_module.reset();
3531
views_module.reset();
3632
logger.reset();
37-
38-
#if !defined(_WIN32) && !defined(COUNTLY_USE_CUSTOM_HTTP)
39-
curl_global_cleanup();
40-
#endif
4133
}
4234

4335
std::unique_ptr<Countly> _sharedInstance;

src/request_module.cpp

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,17 +78,32 @@ RequestModule::RequestModule(std::shared_ptr<CountlyConfiguration> config, std::
7878
impl.reset(new RequestModuleImpl(config, logger, requestBuilder));
7979

8080
impl->_logger->log(LogLevel::DEBUG, cly::utils::format_string("[RequestModule] Initialized"));
81+
82+
#if !defined(_WIN32) && !defined(COUNTLY_USE_CUSTOM_HTTP)
83+
curl_global_init(CURL_GLOBAL_ALL);
84+
#endif
8185
}
8286

83-
RequestModule::~RequestModule() { impl.reset(); }
87+
RequestModule::~RequestModule() {
88+
impl.reset();
89+
#if !defined(_WIN32) && !defined(COUNTLY_USE_CUSTOM_HTTP)
90+
curl_global_cleanup();
91+
#endif
92+
}
93+
94+
static size_t countly_curl_write_callback(void *data, size_t byte_size, size_t n_bytes, std::string *body) {
95+
size_t data_size = byte_size * n_bytes;
96+
body->append((const char *)data, data_size);
97+
return data_size;
98+
}
8499

85100
void RequestModule::addRequestToQueue(const std::map<std::string, std::string> &data) {
86101
if (impl->_configuration->requestQueueThreshold <= impl->request_queue.size()) {
87102
impl->_logger->log(LogLevel::WARNING, cly::utils::format_string("[RequestModule] addRequestToQueue: Request Queue is full. Dropping the oldest request."));
88103
impl->request_queue.pop_front();
89104
}
90105

91-
std::string &request = impl->_requestBuilder->buildRequest(data);
106+
const std::string &request = impl->_requestBuilder->buildRequest(data);
92107
impl->request_queue.push_back(request);
93108
}
94109

0 commit comments

Comments
 (0)