summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/LWFT/StatefulObject.h
blob: 092f48d80c110594f7c62e9bc8221cd78406fd55 (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
40
41
42
43
44
45
46
47
// -*- C++ -*-

//=============================================================================
/**
 *  @file    StatefulObject.h
 *
 *  $Id$
 *
 * @author   Friedhelm Wolf (fwolf@dre.vanderbilt.edu)
 */
//=============================================================================

#ifndef _STATEFUL_OBJECT_H_
#define _STATEFUL_OBJECT_H_

#include "ssa_export.h"

// forward declaration
namespace CORBA
{
  class Any;
};

/**
 * @class StatefulObject
 *
 * @brief Abstract Base class for objects that have a set_state method.
 * 
 * This class shields differences in how to disseminate state throughout
 * the system (e.g. either by standard CORBA calls, AMI or DDS) from
 * the state synchronization agent
 */
class SSA_Export StatefulObject
{
public:

  /// ctor
  StatefulObject ();

  /// dtor
  virtual ~StatefulObject ();

  /// method to set the 
  virtual void set_state (const ::CORBA::Any & state_value) = 0;
};

#endif /* _STATEFUL_OBJECT_H_ */