Server implementation details.


Namespaces

namespace  comet::impl
 Namespace for comet implementation details.

Classes

class  comet::exe_server< TYPELIB, FREE_THREADED, TRAITS >
 Define an EXE server. More...
struct  comet::module_t
 COM module. More...
class  custom_registration< CLASS >
class  comet::coclass_table< CLS_LIST, FACTORY_SHOULD_LOCK_MODULE >
struct  comet::coclass_term
class  comet::coclass_table< nil, true >
class  comet::coclass_table< nil, false >
struct  comet::com_server_traits< FL >
class  comet::com_server< TYPELIB, TRAITS >

Enumerations

enum  { NO_EMBEDDED_TLB = 1 }

Functions

template<typename T> impl::cmd_t * comet::create_pointer_deleter (T *&p)
 Create a pointer deleter command.
template<typename T> impl::cmd_t * comet::create_interface_releaser (T *&p)
 Create an interface releaser command.
template<typename T> impl::cmd_t * comet::create_object_disposer (T *p)
 Create a more generic object 'disposer'.
module_t & comet::module ()
 global module object

Function Documentation

template<typename T>
impl::cmd_t* create_interface_releaser T *&  p  ) 
 

Create an interface releaser command.

A command to release COM objects, commonly used for shutdown. Used for singletons.

See also:
module_t::add_object_to_dispose

template<typename T>
impl::cmd_t* create_object_disposer T *  p  ) 
 

Create a more generic object 'disposer'.

Creates a Command that calls a static object_dispose(p) method.

                class my_class_t
                {
                        object_dispose( my_class_t *val)
                        {
                                val->destroy_myself();
                        }
                };
                module().add_object_to_dispose(create_object_disposer(new my_class_t()));
See also:
module_t::add_object_to_dispose

template<typename T>
impl::cmd_t* create_pointer_deleter T *&  p  ) 
 

Create a pointer deleter command.

A command to delete pointers, commonly used for shutdown.

See also:
module_t::add_object_to_dispose