Correct feature names
[ACE_TAO.git] / ACE / ace / Dynamic_Service.cpp
blob8bf6871d1d94128057c29eef4f3d99dca9fb53b9
1 #ifndef ACE_DYNAMIC_SERVICE_CPP
2 #define ACE_DYNAMIC_SERVICE_CPP
4 #include "ace/Dynamic_Service.h"
6 #if !defined (ACE_LACKS_PRAGMA_ONCE)
7 # pragma once
8 #endif /* ACE_LACKS_PRAGMA_ONCE */
10 #include "ace/Service_Object.h"
12 #if !defined (__ACE_INLINE__)
13 #include "ace/Dynamic_Service.inl"
14 #endif /* __ACE_INLINE__ */
16 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
19 template <class TYPE> TYPE *
20 ACE_Dynamic_Service<TYPE>::instance (const ACE_TCHAR *name)
22 ACE_Service_Object * svc_obj =
23 static_cast<ACE_Service_Object *>
24 (ACE_Dynamic_Service_Base::instance (name,false));
25 return dynamic_cast<TYPE *> (svc_obj);
28 template <class TYPE> TYPE *
29 ACE_Dynamic_Service<TYPE>::instance (const ACE_TCHAR *name,
30 bool no_global)
32 ACE_Service_Object * svc_obj =
33 static_cast<ACE_Service_Object *>
34 (ACE_Dynamic_Service_Base::instance (name, no_global));
35 return dynamic_cast<TYPE *> (svc_obj);
38 template <class TYPE> TYPE *
39 ACE_Dynamic_Service<TYPE>::instance (const ACE_Service_Gestalt* conf,
40 const ACE_TCHAR *name)
42 ACE_Service_Object * svc_obj =
43 static_cast<ACE_Service_Object *>
44 (ACE_Dynamic_Service_Base::instance (conf, name, false));
45 return dynamic_cast<TYPE *> (svc_obj);
48 template <class TYPE> TYPE *
49 ACE_Dynamic_Service<TYPE>::instance (const ACE_Service_Gestalt* conf,
50 const ACE_TCHAR *name,
51 bool no_global)
53 ACE_Service_Object * svc_obj =
54 static_cast<ACE_Service_Object *>
55 (ACE_Dynamic_Service_Base::instance (conf, name, no_global));
56 return dynamic_cast<TYPE *> (svc_obj);
59 ACE_END_VERSIONED_NAMESPACE_DECL
61 #endif /* ACE_DYNAMIC_SERVICE_CPP */