Make ast_taskprocessor_listener opaque.
[asterisk/asterisk.git] / include / asterisk / taskprocessor.h
index c64a8f9..a26cf43 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Asterisk -- An open source telephony toolkit.
  *
 /*
  * Asterisk -- An open source telephony toolkit.
  *
- * Copyright (C) 2007-2008, Digium, Inc.
+ * Copyright (C) 2007-2013, Digium, Inc.
  *
  * Dwayne M. Hubbard <dhubbard@digium.com>
  *
  *
  * Dwayne M. Hubbard <dhubbard@digium.com>
  *
@@ -22,7 +22,7 @@
  *
  * \author Dwayne M. Hubbard <dhubbard@digium.com>
  *
  *
  * \author Dwayne M. Hubbard <dhubbard@digium.com>
  *
- * \note A taskprocessor is a named singleton containing a task queue that
+ * \note A taskprocessor is a named object containing a task queue that
  * serializes tasks pushed into it by [a] module(s) that reference the taskprocessor.
  * A taskprocessor is created the first time its name is requested via the
  * ast_taskprocessor_get() function or the ast_taskprocessor_create_with_listener()
  * serializes tasks pushed into it by [a] module(s) that reference the taskprocessor.
  * A taskprocessor is created the first time its name is requested via the
  * ast_taskprocessor_get() function or the ast_taskprocessor_create_with_listener()
@@ -111,24 +111,8 @@ struct ast_taskprocessor_listener_callbacks {
        void (*shutdown)(struct ast_taskprocessor_listener *listener);
 };
 
        void (*shutdown)(struct ast_taskprocessor_listener *listener);
 };
 
-/*!
- * \brief A listener for taskprocessors
- *
- * \since 12.0.0
- *
- * When a taskprocessor's state changes, the listener
- * is notified of the change. This allows for tasks
- * to be addressed in whatever way is appropriate for
- * the module using the taskprocessor.
- */
-struct ast_taskprocessor_listener {
-       /*! The callbacks the taskprocessor calls into to notify of state changes */
-       const struct ast_taskprocessor_listener_callbacks *callbacks;
-       /*! The taskprocessor that the listener is listening to */
-       struct ast_taskprocessor *tps;
-       /*! Data private to the listener */
-       void *user_data;
-};
+struct ast_taskprocessor *ast_taskprocessor_listener_get_tps(const struct ast_taskprocessor_listener *listener);
+void *ast_taskprocessor_listener_get_user_data(const struct ast_taskprocessor_listener *listener);
 
 /*!
  * \brief Allocate a taskprocessor listener
 
 /*!
  * \brief Allocate a taskprocessor listener