Merge branch 'master' into jwi-bcc64xsingletonwarning
[ACE_TAO.git] / ACE / examples / Smart_Pointers / Widget.h
blob41006fd2eab557711f8c31678ed759ee2a3d81fd
1 /* -*- C++ -*- */
2 //=============================================================================
3 /**
4 * @file Widget.h
6 * @author Christopher Kohlhoff <chris@kohlhoff.com>
7 */
8 //=============================================================================
10 #ifndef WIDGET_H
11 #define WIDGET_H
13 #include "Widget_Part.h"
15 /**
16 * @class Widget
18 * @brief An interface for some high-level application object.
20 class Widget
22 public:
23 /// Destructor.
24 virtual ~Widget ();
26 /// Add a new part to the widget. The widget takes ownership of the part
27 /// object.
28 virtual void add_part (Widget_Part *part) = 0;
30 /// Remove a random part from the widget. Ownership of the part is returned
31 /// to the caller.
32 virtual Widget_Part *remove_part () = 0;
34 /// Ask the widget to print information about the parts that it contains.
35 virtual void list_parts () = 0;
38 #endif /* WIDGET_H */