summaryrefslogtreecommitdiff
path: root/TAO/tests/Smart_Proxies/Smart_Proxy_Impl.h
blob: 76d38be624569c6689fa7adf6b79505fc505d76c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// $Id$

#include "testC.h"
#include "ace/SString.h"

class Smart_Test_Factory : public virtual TAO_Test_Default_Proxy_Factory
{
public:

  Smart_Test_Factory (void);

  virtual Test_ptr create_proxy (Test_ptr proxy
                                 ACE_ENV_ARG_DECL_WITH_DEFAULTS);
  // This method will create the smart_proxy.
};

class Smart_Test_Proxy : public virtual TAO_Test_Smart_Proxy_Base
{
public:
  Smart_Test_Proxy (Test_ptr proxy);

  virtual bool can_convert_to_ior (void) const;

  virtual char* convert_to_ior (bool use_omg_ior_format,       
                                const char* ior_prefix) const;

  virtual CORBA::Short method (CORBA::Short boo
                               ACE_ENV_ARG_DECL_WITH_DEFAULTS)
    ACE_THROW_SPEC ((CORBA::SystemException,
                     Test::Oops));
  // "Smartify" the method call!

  static const ACE_CString& fake_ior (void);

  // Don't need to add any extra functionality into <shutdown>, hence
  // we don't define it.
private:
  static ACE_CString fake_ior_;
};