/*
* Copyright 2013 Canonical Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see .
*
* Authors:
* Charles Kerr
*/
class Profile: Object
{
protected string name;
protected Menu root;
protected Menu menu;
public Profile (string name)
{
this.name = name;
menu = new Menu ();
var root_item = new MenuItem (null, "indicator.root-" + name);
root_item.set_attribute ("x-canonical-type", "s", "com.canonical.indicator.root");
root_item.set_submenu (menu);
root = new Menu ();
root.append_item (root_item);
}
public void export_menu (DBusConnection connection, string object_path)
{
try
{
debug (@"exporting '$name' on $object_path");
connection.export_menu_model (object_path, this.root);
}
catch (Error e)
{
critical (@"Unable to export menu on $object_path: $(e.message)");
}
}
}