#ifndef UI_BASE_X_X11_MENU_LIST_H_
#define UI_BASE_X_X11_MENU_LIST_H_
#include <vector>
#include "base/basictypes.h"
#include "ui/base/ui_base_export.h"
#include "ui/gfx/x/x11_types.h"
typedef unsigned long Atom;
template <typename T> struct DefaultSingletonTraits;
namespace ui {
class UI_BASE_EXPORT XMenuList {
public:
static XMenuList* GetInstance();
void MaybeRegisterMenu(XID menu);
void MaybeUnregisterMenu(XID menu);
void InsertMenuWindowXIDs(std::vector<XID>* stack);
private:
friend struct DefaultSingletonTraits<XMenuList>;
XMenuList();
~XMenuList();
std::vector<XID> menus_;
::Atom menu_type_atom_;
DISALLOW_COPY_AND_ASSIGN(XMenuList);
};
}
#endif