server.h File Reference

#include <comet/config.h>
#include <olectl.h>
#include <malloc.h>
#include <string>
#include <vector>
#include <comet/impqi.h>
#include <comet/interface.h>
#include <comet/regkey.h>
#include <comet/threading.h>
#include <comet/tstring.h>
#include <comet/handle_except.h>
#include <comet/module.h>

Include dependency graph for server.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace  comet
namespace  comet::impl
namespace  comet::thread_model

Classes

class  custom_registration< CLASS >
struct  comet::impl::interface_wrapper< T >
class  comet::impl::simple_object_aux< T >
struct  comet::aggregate_inner_unknown< C >
class  comet::aggregate_outer_unknown< T >
class  comet::impl::aggregateable_object_aux< T >
class  comet::aggregateable_object<>
class  comet::simple_object<>
class  comet::impl::static_object_aux< T >
class  comet::static_object<>
class  comet::singleton_object<>
class  comet::embedded_object< PARENT, >
class  comet::embedded_object2< PARENT, >
class  comet::class_factory_base< T, LOCK_MODULE >
 Base class for class factories. More...
class  comet::class_factory< T, LOCK_MODULE >
 Basic class-factory. More...
class  comet::class_factory_agg< T, LOCK_MODULE >
 Class factory for aggregateable objects. More...
class  comet::class_factory_singleton< T, LOCK_MODULE >
 Class factory for singletons. More...
struct  comet::tm_properties< thread_model::Apartment >
struct  comet::tm_properties< thread_model::Free >
struct  comet::tm_properties< thread_model::Both >
struct  comet::tm_properties< thread_model::Neutral >
class  comet::IProvideClassInfoImpl< COCLASS >
struct  comet::coclass< T, TM, >
struct  comet::impl::append3< T1, T2, T3 >
struct  comet::aggregateable_coclass< T, TM >
struct  comet::singleton_coclass< T, TM >
struct  comet::singleton_autorelease_coclass< T, TM >
class  comet::impl::reghelper_t< T >
struct  comet::impl::THE_FOLLOWING_COCLASS_HAS_NOT_BEEN_IMPLEMENTED< nil >
struct  comet::impl::entry_builder< true >
struct  comet::impl::entry_builder< true >::registration< CLASS >
struct  comet::impl::entry_builder< true >::factory< CLASS, LOCK_MODULE >
struct  comet::impl::entry_builder< false >
struct  comet::impl::entry_builder< false >::registration< CLASS >
struct  comet::impl::entry_builder< false >::factory_builder<>
struct  comet::impl::entry_builder< false >::factory_builder< ft_standard >
struct  comet::impl::entry_builder< false >::factory_builder< ft_standard >::factory< CLASS, LOCK_MODULE >
struct  comet::impl::entry_builder< false >::factory_builder< ft_aggregateable >
struct  comet::impl::entry_builder< false >::factory_builder< ft_aggregateable >::factory< CLASS, LOCK_MODULE >
struct  comet::impl::entry_builder< false >::factory_builder< ft_singleton >
struct  comet::impl::entry_builder< false >::factory_builder< ft_singleton >::factory< CLASS, LOCK_MODULE >
struct  comet::impl::entry_builder< false >::factory_type< CLASS, LOCK_MODULE >
struct  comet::impl::entry_builder< false >::factory< CLASS, LOCK_MODULE >
struct  comet::impl::coclass_table_entry< CLASS, FACTORY_LOCK_MODULE >
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 >
struct  comet::impl::typelibrary_registration< embedded >
struct  comet::impl::typelibrary_registration< 0 >

Defines

#define COMET_DECLARE_DLL_FUNCTIONS(SERVER)

Typedefs

typedef reghelper_t< void > reghelper

Enumerations

enum  factory_type_t { ft_standard, ft_aggregateable, ft_singleton }
enum  thread_model_t { Apartment = 0, Free = 1, Both = 2, Neutral = 3 }
enum  { NO_EMBEDDED_TLB = 1 }

Functions

void create_record_info (const IID &lib_guid, const IID &rec_guid, unsigned short major_version, unsigned short minor_version, IRecordInfo *&ri)


Detailed Description

Main functionality for providing a COM server dll.

Define Documentation

#define COMET_DECLARE_DLL_FUNCTIONS SERVER   ) 
 

Value:

extern "C" BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID) \ { \ return SERVER::DllMain(hInstance, dwReason, 0); \ } \ \ STDAPI DllCanUnloadNow() \ { \ return SERVER::DllCanUnloadNow(); \ } \ \ STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv) \ { \ return SERVER::DllGetClassObject(rclsid, riid, ppv); \ } \ \ STDAPI DllRegisterServer() \ { \ return SERVER::DllRegisterServer(); \ } \ \ STDAPI DllUnregisterServer() \ { \ return SERVER::DllUnregisterServer(); \ }
Declares the DLL Functions and passes them through to SERVER static functions.
See also:
com_server


Enumeration Type Documentation

enum thread_model_t
 

Enumerate thread_model.

Enumeration values:
Apartment  Apartment threaded.
Free  Free threaded.
Both  Both threaded (either apartment or free).
Neutral  Netural threaded.