namespace Caliburn.Micro.Core {
using System;
///
/// Denotes an instance which conducts other objects by managing an ActiveItem and maintaining a strict lifecycle.
///
/// Conducted instances can optin to the lifecycle by impelenting any of the follosing , , .
public interface IConductor : IParent, INotifyPropertyChangedEx {
///
/// Activates the specified item.
///
/// The item to activate.
void ActivateItem(object item);
///
/// Deactivates the specified item.
///
/// The item to close.
/// Indicates whether or not to close the item after deactivating it.
void DeactivateItem(object item, bool close);
///
/// Occurs when an activation request is processed.
///
event EventHandler ActivationProcessed;
}
///
/// An that also implements .
///
public interface IConductActiveItem : IConductor, IHaveActiveItem { }
}