Create compatibility stubs for maximum ABI compatibility.
ASTERISK-28212 #close
Change-Id: I872c04842ab6b61e9dd6d37e4166bc619aa20626
* has been subscribed. This occurs immediately before accepted message
* types can be set and the callback must expect to receive it.
*/
-#ifdef AST_DEVMODE
struct stasis_subscription *__stasis_subscribe(struct stasis_topic *topic,
stasis_subscription_cb callback, void *data, const char *file, int lineno, const char *func);
+#ifdef AST_DEVMODE
#define stasis_subscribe(topic, callback, data) __stasis_subscribe(topic, callback, data, __FILE__, __LINE__, __PRETTY_FUNCTION__)
#else
struct stasis_subscription *stasis_subscribe(struct stasis_topic *topic,
* has been subscribed. This occurs immediately before accepted message
* types can be set and the callback must expect to receive it.
*/
-#ifdef AST_DEVMODE
struct stasis_subscription *__stasis_subscribe_pool(struct stasis_topic *topic,
stasis_subscription_cb callback, void *data, const char *file, int lineno, const char *func);
+#ifdef AST_DEVMODE
#define stasis_subscribe_pool(topic, callback, data) __stasis_subscribe_pool(topic, callback, data, __FILE__, __LINE__, __PRETTY_FUNCTION__)
#else
struct stasis_subscription *stasis_subscribe_pool(struct stasis_topic *topic,
* \return \c NULL on error.
* \since 12
*/
-#ifdef AST_DEVMODE
struct stasis_subscription *internal_stasis_subscribe(
struct stasis_topic *topic,
stasis_subscription_cb callback,
const char *file,
int lineno,
const char *func);
-#else
-struct stasis_subscription *internal_stasis_subscribe(
- struct stasis_topic *topic,
- stasis_subscription_cb callback,
- void *data,
- int needs_mailbox,
- int use_thread_pool);
-#endif
#endif /* STASIS_INTERNAL_H_ */
*
* \since 12
*/
-#ifdef AST_DEVMODE
struct stasis_message_router *__stasis_message_router_create(
struct stasis_topic *topic, const char *file, int lineno, const char *func);
+#ifdef AST_DEVMODE
#define stasis_message_router_create(topic) __stasis_message_router_create(topic, __FILE__, __LINE__, __PRETTY_FUNCTION__)
#else
struct stasis_message_router *stasis_message_router_create(
*
* \since 12.8.0
*/
-#ifdef AST_DEVMODE
struct stasis_message_router *__stasis_message_router_create_pool(
struct stasis_topic *topic, const char *file, int lineno, const char *func);
+#ifdef AST_DEVMODE
#define stasis_message_router_create_pool(topic) __stasis_message_router_create_pool(topic, __FILE__, __LINE__, __PRETTY_FUNCTION__)
#else
struct stasis_message_router *stasis_message_router_create_pool(
res |= AST_VECTOR_INIT(&topic->upstream_topics, 0);
#ifdef AST_DEVMODE
topic->statistics = stasis_topic_statistics_create(name);
- if (!topic->name || !topic->statistics || res) {
+ if (!topic->name || !topic->statistics || res)
#else
- if (!topic->name || res) {
+ if (!topic->name || res)
#endif
+ {
ao2_ref(topic, -1);
return NULL;
}
}
#endif
-#ifdef AST_DEVMODE
struct stasis_subscription *internal_stasis_subscribe(
struct stasis_topic *topic,
stasis_subscription_cb callback,
const char *file,
int lineno,
const char *func)
-#else
-struct stasis_subscription *internal_stasis_subscribe(
- struct stasis_topic *topic,
- stasis_subscription_cb callback,
- void *data,
- int needs_mailbox,
- int use_thread_pool)
-#endif
{
struct stasis_subscription *sub;
return sub;
}
-#ifdef AST_DEVMODE
struct stasis_subscription *__stasis_subscribe(
struct stasis_topic *topic,
stasis_subscription_cb callback,
{
return internal_stasis_subscribe(topic, callback, data, 1, 0, file, lineno, func);
}
-#else
-struct stasis_subscription *stasis_subscribe(
- struct stasis_topic *topic,
- stasis_subscription_cb callback,
- void *data)
-{
- return internal_stasis_subscribe(topic, callback, data, 1, 0);
-}
-#endif
-#ifdef AST_DEVMODE
struct stasis_subscription *__stasis_subscribe_pool(
struct stasis_topic *topic,
stasis_subscription_cb callback,
{
return internal_stasis_subscribe(topic, callback, data, 1, 1, file, lineno, func);
}
-#else
-struct stasis_subscription *stasis_subscribe_pool(
- struct stasis_topic *topic,
- stasis_subscription_cb callback,
- void *data)
-{
- return internal_stasis_subscribe(topic, callback, data, 1, 1);
-}
-#endif
static int sub_cleanup(void *data)
{
return 0;
}
+
+#ifdef AST_DEVMODE
+#undef stasis_subscribe
+struct stasis_subscription *stasis_subscribe(
+ struct stasis_topic *topic,
+ stasis_subscription_cb callback,
+ void *data);
+#undef stasis_subscribe_pool
+struct stasis_subscription *stasis_subscribe_pool(
+ struct stasis_topic *topic,
+ stasis_subscription_cb callback,
+ void *data);
+#endif
+struct stasis_subscription *stasis_subscribe(
+ struct stasis_topic *topic,
+ stasis_subscription_cb callback,
+ void *data)
+{
+ return internal_stasis_subscribe(topic, callback, data, 1, 0, __FILE__, __LINE__, __PRETTY_FUNCTION__);
+}
+
+struct stasis_subscription *stasis_subscribe_pool(
+ struct stasis_topic *topic,
+ stasis_subscription_cb callback,
+ void *data)
+{
+ return internal_stasis_subscribe(topic, callback, data, 1, 1, __FILE__, __LINE__, __PRETTY_FUNCTION__);
+}
}
ast_free(new_name);
-#ifdef AST_DEVMODE
caching_topic->sub = internal_stasis_subscribe(original_topic, caching_topic_exec, caching_topic, 0, 0, __FILE__, __LINE__, __PRETTY_FUNCTION__);
-#else
- caching_topic->sub = internal_stasis_subscribe(original_topic, caching_topic_exec, caching_topic, 0, 0);
-#endif
if (caching_topic->sub == NULL) {
ao2_ref(caching_topic, -1);
}
}
-#ifdef AST_DEVMODE
static struct stasis_message_router *stasis_message_router_create_internal(
struct stasis_topic *topic, int use_thread_pool, const char *file, int lineno,
const char *func)
-#else
-static struct stasis_message_router *stasis_message_router_create_internal(
- struct stasis_topic *topic, int use_thread_pool)
-#endif
{
int res;
struct stasis_message_router *router;
return NULL;
}
-#ifdef AST_DEVMODE
if (use_thread_pool) {
router->subscription = __stasis_subscribe_pool(topic, router_dispatch, router, file, lineno, func);
} else {
router->subscription = __stasis_subscribe(topic, router_dispatch, router, file, lineno, func);
}
-#else
- if (use_thread_pool) {
- router->subscription = stasis_subscribe_pool(topic, router_dispatch, router);
- } else {
- router->subscription = stasis_subscribe(topic, router_dispatch, router);
- }
-#endif
if (!router->subscription) {
ao2_ref(router, -1);
return router;
}
-#ifdef AST_DEVMODE
struct stasis_message_router *__stasis_message_router_create(
struct stasis_topic *topic, const char *file, int lineno, const char *func)
{
return stasis_message_router_create_internal(topic, 0, file, lineno, func);
}
-#else
-struct stasis_message_router *stasis_message_router_create(
- struct stasis_topic *topic)
-{
- return stasis_message_router_create_internal(topic, 0);
-}
-#endif
-#ifdef AST_DEVMODE
struct stasis_message_router *__stasis_message_router_create_pool(
struct stasis_topic *topic, const char *file, int lineno, const char *func)
{
return stasis_message_router_create_internal(topic, 1, file, lineno, func);
}
-#else
-struct stasis_message_router *stasis_message_router_create_pool(
- struct stasis_topic *topic)
-{
- return stasis_message_router_create_internal(topic, 1);
-}
-#endif
void stasis_message_router_unsubscribe(struct stasis_message_router *router)
{
return;
}
+
+#ifdef AST_DEVMODE
+#undef stasis_message_router_create
+struct stasis_message_router *stasis_message_router_create(
+ struct stasis_topic *topic);
+#undef stasis_message_router_create_pool
+struct stasis_message_router *stasis_message_router_create_pool(
+ struct stasis_topic *topic);
+#endif
+struct stasis_message_router *stasis_message_router_create(
+ struct stasis_topic *topic)
+{
+ return stasis_message_router_create_internal(topic, 0, __FILE__, __LINE__, __PRETTY_FUNCTION__);
+}
+
+struct stasis_message_router *stasis_message_router_create_pool(
+ struct stasis_topic *topic)
+{
+ return stasis_message_router_create_internal(topic, 1, __FILE__, __LINE__, __PRETTY_FUNCTION__);
+}