class Drawer;


class MajorMode
{
public:

	/**
	 * Called to inform the major mode that there has been a short press.
	 */
	virtual void short_press() = 0;

	/**
	 * Called to inform the major mode that there has been a long press.
	 */
	virtual void long_press() = 0;

	/**
	 * Called when this major mode is becoming active
	 */
	virtual void activate() = 0;

	/**
	 * Retrieve a drawer.
	 *
	 * @return drawer
	 */
	virtual Drawer &get_drawer() = 0;

};
