From 43059ed45ac41e1bf6172b3eec236ea086d81cda Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Sat, 3 Aug 2013 10:47:23 -0500 Subject: change the 'BluetoothMenu' superclass to 'Profile' --- src/profile.vala | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 src/profile.vala (limited to 'src/profile.vala') diff --git a/src/profile.vala b/src/profile.vala new file mode 100644 index 0000000..6dd5f52 --- /dev/null +++ b/src/profile.vala @@ -0,0 +1,54 @@ +/* + * 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 virtual void add_actions_to_group (SimpleActionGroup group) {} + + 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 + { + message ("exporting '%s' on %s", name, object_path); + connection.export_menu_model (object_path, this.root); + } + catch (Error e) + { + critical ("%s", e.message); + } + } +} -- cgit v1.2.3