aboutsummaryrefslogtreecommitdiff
path: root/include/cru/common/auto_delete.hpp
blob: ae66f7bf13164d9fdda41697aa0944289614bcdd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#pragma once
#include "base.hpp"

namespace cru {
// A instance of class implementing this interface is able to
// delete itseft when program exits. Such as IGraphFactory,
// IUiApplication.
struct IAutoDelete : virtual Interface {
  // Get whether it will delete itself when program exits.
  virtual bool IsAutoDelete() const = 0;
  // Set whether it will delete itself when program exits.
  virtual void SetAutoDelete(bool value) = 0;
};
}  // namespace cru