summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/audio/audio-interface.vala8
-rw-r--r--src/audio/audio.vala10
-rw-r--r--src/audio/main.vala2
-rw-r--r--src/cli/cli.vala2
-rw-r--r--src/cli/main.vala8
-rw-r--r--src/config/config-interface.vala16
-rw-r--r--src/config/config.vala16
-rw-r--r--src/curses-ui/main.vala17
-rw-r--r--src/database/database.vala107
-rw-r--r--src/database/db-interface.vala106
-rw-r--r--src/database/main.vala2
-rw-r--r--src/input-device/input-device-interface.vala2
-rw-r--r--src/input-device/input-device.vala2
-rw-r--r--src/input-device/main.vala2
-rw-r--r--src/invoice/invoice.vala8
-rw-r--r--src/mail/mail.vala6
-rw-r--r--src/mail/mailer-interface.vala12
-rw-r--r--src/mail/mailer.vala10
-rw-r--r--src/mail/main.vala2
-rw-r--r--src/pdf-invoice/main.vala6
-rw-r--r--src/pdf-invoice/pdf-invoice-interface.vala4
-rw-r--r--src/pdf-invoice/pdf-invoice.vala16
-rw-r--r--src/pdf-stock/pdf-stock-interface.vala2
-rw-r--r--src/pdf-stock/pdf-stock.vala2
-rw-r--r--src/pgp/main.vala2
-rw-r--r--src/pgp/pgp-interface.vala6
-rw-r--r--src/pgp/pgp.vala6
-rw-r--r--src/scanner-session/scannersession.vala18
-rw-r--r--src/serial-device/main.vala2
-rw-r--r--src/serial-device/serial-device.vala2
-rw-r--r--src/web/csv.vala2
-rw-r--r--src/web/main.vala2
-rw-r--r--src/web/web.vala48
-rw-r--r--src/web/websession.vala6
34 files changed, 262 insertions, 200 deletions
diff --git a/src/audio/audio-interface.vala b/src/audio/audio-interface.vala
index 12bfae4..721a484 100644
--- a/src/audio/audio-interface.vala
+++ b/src/audio/audio-interface.vala
@@ -17,10 +17,10 @@
public interface AudioPlayer : Object {
public abstract signal void end_of_stream();
- public abstract void play_system(string file) throws IOError;
- public abstract string get_random_user_theme() throws IOError;
- public abstract string[] get_user_themes() throws IOError;
- public abstract void play_user(string theme, string type) throws IOError;
+ public abstract void play_system(string file) throws DBusError, IOError;
+ public abstract string get_random_user_theme() throws DBusError, IOError;
+ public abstract string[] get_user_themes() throws DBusError, IOError;
+ public abstract void play_user(string theme, string type) throws DBusError, IOError;
}
public enum AudioType {
diff --git a/src/audio/audio.vala b/src/audio/audio.vala
index 9afb840..ccced20 100644
--- a/src/audio/audio.vala
+++ b/src/audio/audio.vala
@@ -30,7 +30,7 @@ public class AudioPlayerImplementation {
return true;
}
- public AudioPlayerImplementation(string path) throws IOError {
+ public AudioPlayerImplementation(string path) throws IOError, DBusError {
this.path = path;
var alsa = Gst.ElementFactory.make("alsasink", "alsa");
@@ -45,7 +45,7 @@ public class AudioPlayerImplementation {
p.get_bus().add_watch(Priority.DEFAULT, bus_callback);
}
- public void play_system(string file) {
+ public void play_system(string file) throws IOError, DBusError {
p.set_state(Gst.State.NULL);
p.uri = "file://" + path + "system/" + file;
p.set_state(Gst.State.PLAYING);
@@ -76,15 +76,15 @@ public class AudioPlayerImplementation {
return files[index];
}
- public string get_random_user_theme() {
+ public string get_random_user_theme() throws IOError, DBusError {
return get_random_file(path + "user/");
}
- public string[] get_user_themes() {
+ public string[] get_user_themes() throws IOError, DBusError {
return get_files(path + "user/");
}
- public void play_user(string theme, string type) {
+ public void play_user(string theme, string type) throws IOError, DBusError {
p.set_state(Gst.State.NULL);
var file = get_random_file(path + "user/" + theme+ "/" + type);
p.uri = "file://" + path + "user/" + theme+ "/" + type + "/" + file;
diff --git a/src/audio/main.vala b/src/audio/main.vala
index ac64f52..2a7d918 100644
--- a/src/audio/main.vala
+++ b/src/audio/main.vala
@@ -34,6 +34,8 @@ public static int main(string[] args) {
error("IOError: %s\n", e.message);
} catch(KeyFileError e) {
error("Config Error: %s\n", e.message);
+ } catch(DBusError e) {
+ error("DBus Error: %s\n", e.message);
}
new MainLoop().run();
diff --git a/src/cli/cli.vala b/src/cli/cli.vala
index bc6fe9d..c0ba61e 100644
--- a/src/cli/cli.vala
+++ b/src/cli/cli.vala
@@ -21,7 +21,7 @@ public class CliImpl {
public CliImpl() {
}
- public void send(string msg) {
+ public void send(string msg) throws IOError, DBusError {
stdout.printf("Sending: %s\n", msg);
received_barcode(msg);
}
diff --git a/src/cli/main.vala b/src/cli/main.vala
index a3208dd..377efa1 100644
--- a/src/cli/main.vala
+++ b/src/cli/main.vala
@@ -42,7 +42,11 @@ public static int main(string[] args) {
void on_name_aquired() {
foreach (string cmd in commands) {
- cli.send(cmd);
+ try {
+ cli.send(cmd);
+ } catch (Error e) {
+ stderr.printf("Error sending command: %s", e.message);
+ }
}
// wait a minimal amount of time, to ensure the event was sent
@@ -62,4 +66,4 @@ void on_bus_aquired(DBusConnection con) {
stderr.printf("Could not register service\n");
}
-} \ No newline at end of file
+}
diff --git a/src/config/config-interface.vala b/src/config/config-interface.vala
index c34e3a7..369071e 100644
--- a/src/config/config-interface.vala
+++ b/src/config/config-interface.vala
@@ -15,12 +15,12 @@
[DBus (name = "io.mainframe.shopsystem.Config")]
public interface Config : Object {
- public abstract bool has_group(string group_name) throws IOError, KeyFileError;
- public abstract bool has_key(string group_name, string key) throws IOError, KeyFileError;
- public abstract string get_string(string group_name, string key) throws IOError, KeyFileError;
- public abstract bool get_boolean(string group_name, string key) throws IOError, KeyFileError;
- public abstract int get_integer(string group_name, string key) throws IOError, KeyFileError;
- public abstract int64 get_int64(string group_name, string key) throws IOError, KeyFileError;
- public abstract uint64 get_uint64(string group_name, string key) throws IOError, KeyFileError;
- public abstract double get_double(string group_name, string key) throws IOError, KeyFileError;
+ public abstract bool has_group(string group_name) throws DBusError, IOError, KeyFileError;
+ public abstract bool has_key(string group_name, string key) throws DBusError, IOError, KeyFileError;
+ public abstract string get_string(string group_name, string key) throws DBusError, IOError, KeyFileError;
+ public abstract bool get_boolean(string group_name, string key) throws DBusError, IOError, KeyFileError;
+ public abstract int get_integer(string group_name, string key) throws DBusError, IOError, KeyFileError;
+ public abstract int64 get_int64(string group_name, string key) throws DBusError, IOError, KeyFileError;
+ public abstract uint64 get_uint64(string group_name, string key) throws DBusError, IOError, KeyFileError;
+ public abstract double get_double(string group_name, string key) throws DBusError, IOError, KeyFileError;
}
diff --git a/src/config/config.vala b/src/config/config.vala
index 60fd835..b25b667 100644
--- a/src/config/config.vala
+++ b/src/config/config.vala
@@ -27,35 +27,35 @@ public class Cfg {
}
}
- public bool has_group(string group_name) throws KeyFileError {
+ public bool has_group(string group_name) throws DBusError, IOError, KeyFileError {
return file.has_group(group_name);
}
- public bool has_key(string group_name, string key) throws KeyFileError {
+ public bool has_key(string group_name, string key) throws DBusError, IOError, KeyFileError {
return file.has_key(group_name, key);
}
- public string get_string(string group_name, string key) throws KeyFileError {
+ public string get_string(string group_name, string key) throws DBusError, IOError, KeyFileError {
return file.get_string(group_name, key);
}
- public bool get_boolean(string group_name, string key) throws KeyFileError {
+ public bool get_boolean(string group_name, string key) throws DBusError, IOError, KeyFileError {
return file.get_boolean(group_name, key);
}
- public int get_integer(string group_name, string key) throws KeyFileError {
+ public int get_integer(string group_name, string key) throws DBusError, IOError, KeyFileError {
return file.get_integer(group_name, key);
}
- public int64 get_int64(string group_name, string key) throws KeyFileError {
+ public int64 get_int64(string group_name, string key) throws DBusError, IOError, KeyFileError {
return file.get_int64(group_name, key);
}
- public uint64 get_uint64(string group_name, string key) throws KeyFileError {
+ public uint64 get_uint64(string group_name, string key) throws DBusError, IOError, KeyFileError {
return file.get_uint64(group_name, key);
}
- public double get_double(string group_name, string key) throws KeyFileError {
+ public double get_double(string group_name, string key) throws DBusError, IOError, KeyFileError {
return file.get_double(group_name, key);
}
diff --git a/src/curses-ui/main.vala b/src/curses-ui/main.vala
index 47be40a..7c2e762 100644
--- a/src/curses-ui/main.vala
+++ b/src/curses-ui/main.vala
@@ -23,6 +23,8 @@ private static void play(string file) {
audio.play_system(file);
} catch(IOError e) {
ui.log(MessageType.WARNING, "could not play audio: %s".printf(e.message));
+ } catch(DBusError e) {
+ ui.log(MessageType.WARNING, "could not play audio: %s".printf(e.message));
}
}
@@ -43,8 +45,8 @@ public static int main(string[] args) {
loop = new MainLoop();
/* handle unix signals */
- Unix.signal_add(Posix.SIGTERM, handle_signals);
- Unix.signal_add(Posix.SIGINT, handle_signals);
+ Unix.signal_add(Posix.Signal.TERM, handle_signals);
+ Unix.signal_add(Posix.Signal.INT, handle_signals);
try {
audio = Bus.get_proxy_sync(BusType.SYSTEM, "io.mainframe.shopsystem.AudioPlayer", "/io/mainframe/shopsystem/audio");
@@ -62,16 +64,7 @@ public static int main(string[] args) {
scanner.msg.connect(msg_handler);
scanner.msg_overlay.connect(msg_overlay_handler);
- /* get configuration */
- Config config = Bus.get_proxy_sync(BusType.SYSTEM, "io.mainframe.shopsystem.Config", "/io/mainframe/shopsystem/config");
- var shopname = "--SHOPNAME--";
- try {
- shopname = config.get_string("GENERAL", "longname");
- } catch(KeyFileError e) {
- shopname = "Missing in Config";
- }
-
- ui.log(MessageType.INFO, "KtT Shop System has been started");
+ ui.log(MessageType.INFO, "Shop System has been started");
play("startup.ogg");
/* run mainloop */
diff --git a/src/database/database.vala b/src/database/database.vala
index 0ce3f87..8106742 100644
--- a/src/database/database.vala
+++ b/src/database/database.vala
@@ -154,7 +154,7 @@ public class DataBase : Object {
#endif
}
- public GLib.HashTable<string,string> get_products() {
+ public GLib.HashTable<string,string> get_products() throws DBusError, IOError, DatabaseError {
var result = new GLib.HashTable<string,string>(null, null);
statements["products"].reset();
@@ -277,7 +277,7 @@ public class DataBase : Object {
}
#endif
- public DetailedProduct[] get_stock() {
+ public DetailedProduct[] get_stock() throws DBusError, IOError, DatabaseError {
DetailedProduct[] result = {};
statements["stock_status"].reset();
@@ -297,8 +297,9 @@ public class DataBase : Object {
return result;
}
- public DetailedProduct get_product_for_ean(uint64 ean) throws DatabaseError {
- var p = new DetailedProduct();
+ public DetailedProduct get_product_for_ean(uint64 ean) throws DBusError, IOError, DatabaseError {
+ DetailedProduct p = {};
+
try {
p.ean = ean_alias_get(ean);
p.name = get_product_name(ean);
@@ -312,7 +313,7 @@ public class DataBase : Object {
}
}
- public PriceEntry[] get_prices(uint64 product) {
+ public PriceEntry[] get_prices(uint64 product) throws DBusError, IOError, DatabaseError {
PriceEntry[] result = {};
statements["prices"].reset();
@@ -330,7 +331,7 @@ public class DataBase : Object {
return result;
}
- public RestockEntry[] get_restocks(uint64 product, bool descending) {
+ public RestockEntry[] get_restocks(uint64 product, bool descending) throws DBusError, IOError, DatabaseError {
RestockEntry[] result = {};
var statement = statements[descending ? "restocks_desc" : "restocks_asc"];
@@ -354,7 +355,7 @@ public class DataBase : Object {
return result;
}
- public bool buy(int32 user, uint64 article) throws DatabaseError {
+ public bool buy(int32 user, uint64 article) throws DBusError, IOError, DatabaseError {
int rc = 0;
int64 timestamp = (new DateTime.now_utc()).to_unix();
@@ -370,7 +371,7 @@ public class DataBase : Object {
return true;
}
- public string get_product_name(uint64 article) throws DatabaseError {
+ public string get_product_name(uint64 article) throws DBusError, IOError, DatabaseError {
statements["product_name"].reset();
statements["product_name"].bind_text(1, "%llu".printf(article));
@@ -386,7 +387,7 @@ public class DataBase : Object {
}
}
- public string get_product_category(uint64 article) throws DatabaseError {
+ public string get_product_category(uint64 article) throws DBusError, IOError, DatabaseError {
statements["product_category"].reset();
statements["product_category"].bind_text(1, "%llu".printf(article));
@@ -402,7 +403,7 @@ public class DataBase : Object {
}
}
- public int get_product_amount(uint64 article) throws DatabaseError {
+ public int get_product_amount(uint64 article) throws DBusError, IOError, DatabaseError {
statements["product_amount"].reset();
statements["product_amount"].bind_text(1, "%llu".printf(article));
@@ -418,7 +419,7 @@ public class DataBase : Object {
}
}
- public bool get_product_deprecated(uint64 article) throws DatabaseError {
+ public bool get_product_deprecated(uint64 article) throws DBusError, IOError, DatabaseError {
statements["product_deprecated"].reset();
statements["product_deprecated"].bind_text(1, "%llu".printf(article));
@@ -434,7 +435,7 @@ public class DataBase : Object {
}
}
- public void product_deprecate(uint64 article, bool value) throws DatabaseError {
+ public void product_deprecate(uint64 article, bool value) throws DBusError, IOError, DatabaseError {
int rc;
statements["product_set_deprecated"].reset();
@@ -446,7 +447,7 @@ public class DataBase : Object {
throw new DatabaseError.INTERNAL_ERROR("internal error: %d", rc);
}
- public Price get_product_price(int user, uint64 article) throws DatabaseError {
+ public Price get_product_price(int user, uint64 article) throws DBusError, IOError, DatabaseError {
int64 timestamp = (new DateTime.now_utc()).to_unix();
bool member = user != 0;
@@ -469,7 +470,7 @@ public class DataBase : Object {
}
}
- public string undo(int32 user) throws DatabaseError {
+ public string undo(int32 user) throws DBusError, IOError, DatabaseError {
uint64 pid = 0;
int rc = 0;
string pname;
@@ -500,7 +501,7 @@ public class DataBase : Object {
return pname;
}
- public void restock(int user, uint64 product, uint amount, uint price, int supplier, int64 best_before_date) throws DatabaseError {
+ public void restock(int user, uint64 product, uint amount, uint price, int supplier, int64 best_before_date) throws DBusError, IOError, DatabaseError {
int rc = 0;
int64 timestamp = (new DateTime.now_utc()).to_unix();
@@ -525,7 +526,7 @@ public class DataBase : Object {
throw new DatabaseError.INTERNAL_ERROR("internal error: %d", rc);
}
- public void new_product(uint64 id, string name, int category, int memberprice, int guestprice) throws DatabaseError {
+ public void new_product(uint64 id, string name, int category, int memberprice, int guestprice) throws DBusError, IOError, DatabaseError {
statements["product_create"].reset();
statements["product_create"].bind_text(1, @"$id");
statements["product_create"].bind_text(2, name);
@@ -542,7 +543,7 @@ public class DataBase : Object {
new_price(id, 0, memberprice, guestprice);
}
- public void new_price(uint64 product, int64 timestamp, int memberprice, int guestprice) throws DatabaseError {
+ public void new_price(uint64 product, int64 timestamp, int memberprice, int guestprice) throws DBusError, IOError, DatabaseError {
statements["price_create"].reset();
statements["price_create"].bind_text(1, @"$product");
statements["price_create"].bind_int64(2, timestamp);
@@ -555,7 +556,7 @@ public class DataBase : Object {
}
}
- public bool check_user_password(int32 user, string password) {
+ public bool check_user_password(int32 user, string password) throws DBusError, IOError, DatabaseError {
statements["password_get"].reset();
statements["password_get"].bind_int(1, user);
@@ -569,7 +570,7 @@ public class DataBase : Object {
}
}
- public void set_user_password(int32 user, string password) throws DatabaseError {
+ public void set_user_password(int32 user, string password) throws DBusError, IOError, DatabaseError {
var pwhash = Checksum.compute_for_string(ChecksumType.SHA256, password);
int rc;
@@ -589,7 +590,7 @@ public class DataBase : Object {
throw new DatabaseError.INTERNAL_ERROR("internal error: %d", rc);
}
- public void set_sessionid(int user, string sessionid) throws DatabaseError {
+ public void set_sessionid(int user, string sessionid) throws DBusError, IOError, DatabaseError {
statements["session_set"].reset();
statements["session_set"].bind_text(1, sessionid);
statements["session_set"].bind_int(2, user);
@@ -599,7 +600,7 @@ public class DataBase : Object {
throw new DatabaseError.INTERNAL_ERROR("internal error: %d", rc);
}
- public int get_user_by_sessionid(string sessionid) throws DatabaseError {
+ public int get_user_by_sessionid(string sessionid) throws DBusError, IOError, DatabaseError {
statements["session_get"].reset();
statements["session_get"].bind_text(1, sessionid);
@@ -610,7 +611,7 @@ public class DataBase : Object {
}
}
- public UserInfo get_user_info(int user) throws DatabaseError {
+ public UserInfo get_user_info(int user) throws DBusError, IOError, DatabaseError {
var result = UserInfo();
statements["userinfo"].reset();
statements["userinfo"].bind_int(1, user);
@@ -650,7 +651,7 @@ public class DataBase : Object {
return result;
}
- public UserAuth get_user_auth(int user) throws DatabaseError {
+ public UserAuth get_user_auth(int user) throws DBusError, IOError, DatabaseError {
var result = UserAuth();
result.id = user;
result.superuser = false;
@@ -676,7 +677,7 @@ public class DataBase : Object {
return result;
}
- public void set_user_auth(UserAuth auth) throws DatabaseError {
+ public void set_user_auth(UserAuth auth) throws DBusError, IOError, DatabaseError {
int rc;
/* create user auth line if not existing */
@@ -698,7 +699,7 @@ public class DataBase : Object {
throw new DatabaseError.INTERNAL_ERROR("internal error: %d", rc);
}
- public string get_username(int user) throws DatabaseError {
+ public string get_username(int user) throws DBusError, IOError, DatabaseError {
statements["username"].reset();
statements["username"].bind_int(1, user);
@@ -709,7 +710,7 @@ public class DataBase : Object {
}
}
- public string get_user_theme(int user, string fallback) throws DatabaseError {
+ public string get_user_theme(int user, string fallback) throws DBusError, IOError, DatabaseError {
statements["user_theme_get"].reset();
statements["user_theme_get"].bind_text(1, fallback);
statements["user_theme_get"].bind_int(2, user);
@@ -721,7 +722,7 @@ public class DataBase : Object {
}
}
- public void set_userTheme(int user, string userTheme) throws DatabaseError {
+ public void set_userTheme(int user, string userTheme) throws DBusError, IOError, DatabaseError {
statements["user_theme_set"].reset();
if (userTheme == "") {
statements["user_theme_set"].bind_null(1);
@@ -735,7 +736,7 @@ public class DataBase : Object {
throw new DatabaseError.INTERNAL_ERROR("internal error: %d", rc);
}
- public InvoiceEntry[] get_invoice(int user, int64 from=0, int64 to=-1) throws DatabaseError {
+ public InvoiceEntry[] get_invoice(int user, int64 from=0, int64 to=-1) throws DBusError, IOError, DatabaseError {
InvoiceEntry[] result = {};
if(to == -1) {
@@ -766,7 +767,7 @@ public class DataBase : Object {
return result;
}
- public int64 get_first_purchase(int user) {
+ public int64 get_first_purchase(int user) throws DBusError, IOError, DatabaseError {
statements["purchase_first"].reset();
statements["purchase_first"].bind_int(1, user);
@@ -776,7 +777,7 @@ public class DataBase : Object {
return 0;
}
- public int64 get_last_purchase(int user) {
+ public int64 get_last_purchase(int user) throws DBusError, IOError, DatabaseError {
statements["purchase_last"].reset();
statements["purchase_last"].bind_int(1, user);
@@ -786,7 +787,7 @@ public class DataBase : Object {
return 0;
}
- public StatsInfo get_stats_info() {
+ public StatsInfo get_stats_info() throws DBusError, IOError, DatabaseError {
var result = StatsInfo();
DateTime now = new DateTime.now_local();
@@ -861,7 +862,7 @@ public class DataBase : Object {
return result;
}
- public int[] get_member_ids() {
+ public int[] get_member_ids() throws DBusError, IOError, DatabaseError {
int[] result = {};
statements["user_get_ids"].reset();
@@ -871,7 +872,7 @@ public class DataBase : Object {
return result;
}
- public void user_disable(int user, bool value) throws DatabaseError {
+ public void user_disable(int user, bool value) throws DBusError, IOError, DatabaseError {
int rc;
/* create user auth line if not existing */
@@ -890,7 +891,7 @@ public class DataBase : Object {
throw new DatabaseError.INTERNAL_ERROR("internal error: %d", rc);
}
- public void user_replace(UserInfo u) throws DatabaseError {
+ public void user_replace(UserInfo u) throws DBusError, IOError, DatabaseError {
statements["user_replace"].reset();
statements["user_replace"].bind_int(1, u.id);
statements["user_replace"].bind_text(2, u.email);
@@ -926,29 +927,29 @@ public class DataBase : Object {
}
}
- public bool user_is_disabled(int user) throws DatabaseError {
+ public bool user_is_disabled(int user) throws DBusError, IOError, DatabaseError {
return get_user_info(user).disabled;
}
- public bool user_exists(int user) throws DatabaseError {
+ public bool user_exists(int user) throws DBusError, IOError, DatabaseError {
if(user in get_member_ids())
return true;
return false;
}
- public bool user_equals(UserInfo u) throws DatabaseError {
+ public bool user_equals(UserInfo u) throws DBusError, IOError, DatabaseError {
var dbu = get_user_info(u.id);
return u.equals(dbu);
}
- public int64 get_timestamp_of_last_purchase() {
+ public int64 get_timestamp_of_last_purchase() throws DBusError, IOError, DatabaseError {
statements["last_timestamp"].reset();
if(statements["last_timestamp"].step() != Sqlite.ROW)
return 0;
return statements["last_timestamp"].column_int64(0);
}
- public Category[] get_category_list() {
+ public Category[] get_category_list() throws DBusError, IOError, DatabaseError {
Category[] result = {};
statements["category_list"].reset();
@@ -964,7 +965,7 @@ public class DataBase : Object {
return result;
}
- public Supplier[] get_supplier_list() {
+ public Supplier[] get_supplier_list() throws DBusError, IOError, DatabaseError {
Supplier[] result = {};
statements["supplier_list"].reset();
@@ -985,7 +986,7 @@ public class DataBase : Object {
return result;
}
- public Supplier get_supplier(int id) {
+ public Supplier get_supplier(int id) throws DBusError, IOError, DatabaseError {
Supplier result = Supplier();
statements["supplier_get"].reset();
@@ -1012,7 +1013,7 @@ public class DataBase : Object {
return result;
}
- public void add_supplier(string name, string postal_code, string city, string street, string phone, string website) throws DatabaseError {
+ public void add_supplier(string name, string postal_code, string city, string street, string phone, string website) throws DBusError, IOError, DatabaseError {
statements["supplier_add"].reset();
statements["supplier_add"].bind_text(1, name);
statements["supplier_add"].bind_text(2, postal_code);
@@ -1027,7 +1028,7 @@ public class DataBase : Object {
}
}
- public int[] get_users_with_sales(int64 timestamp_from, int64 timestamp_to) {
+ public int[] get_users_with_sales(int64 timestamp_from, int64 timestamp_to) throws DBusError, IOError, DatabaseError {
var result = new int[0];
statements["users_with_sales"].reset();
statements["users_with_sales"].bind_int64(1, timestamp_from);
@@ -1040,7 +1041,7 @@ public class DataBase : Object {
return result;
}
- public Price get_user_invoice_sum(int user, int64 timestamp_from, int64 timestamp_to) {
+ public Price get_user_invoice_sum(int user, int64 timestamp_from, int64 timestamp_to) throws DBusError, IOError, DatabaseError {
Price result = 0;
statements["user_invoice_sum"].reset();
@@ -1054,7 +1055,7 @@ public class DataBase : Object {
return result;
}
- public Price cashbox_status() {
+ public Price cashbox_status() throws DBusError, IOError, DatabaseError {
Price result = 0;
statements["cashbox_status"].reset();
@@ -1065,7 +1066,7 @@ public class DataBase : Object {
return result;
}
- public void cashbox_add(int user, Price amount, int64 timestamp) throws DatabaseError {
+ public void cashbox_add(int user, Price amount, int64 timestamp) throws DBusError, IOError, DatabaseError {
statements["cashbox_add"].reset();
statements["cashbox_add"].bind_int(1, user);
statements["cashbox_add"].bind_int(2, amount);
@@ -1078,7 +1079,7 @@ public class DataBase : Object {
}
}
- public CashboxDiff[] cashbox_history() {
+ public CashboxDiff[] cashbox_history() throws DBusError, IOError, DatabaseError {
CashboxDiff[] result = {};
statements["cashbox_history"].reset();
@@ -1096,7 +1097,7 @@ public class DataBase : Object {
return result;
}
- public CashboxDiff[] cashbox_changes(int64 start, int64 stop) {
+ public CashboxDiff[] cashbox_changes(int64 start, int64 stop) throws DBusError, IOError, DatabaseError {
CashboxDiff[] result = {};
statements["cashbox_changes"].reset();
@@ -1116,7 +1117,7 @@ public class DataBase : Object {
return result;
}
- public void ean_alias_add(uint64 ean, uint64 real_ean) throws DatabaseError {
+ public void ean_alias_add(uint64 ean, uint64 real_ean) throws DBusError, IOError, DatabaseError {
statements["alias_ean_add"].reset();
statements["alias_ean_add"].bind_text(1, "%llu".printf(ean));
statements["alias_ean_add"].bind_text(2, "%llu".printf(real_ean));
@@ -1128,7 +1129,7 @@ public class DataBase : Object {
}
}
- public uint64 ean_alias_get(uint64 ean) {
+ public uint64 ean_alias_get(uint64 ean) throws DBusError, IOError, DatabaseError {
uint64 result = ean;
statements["alias_ean_get"].reset();
@@ -1140,7 +1141,7 @@ public class DataBase : Object {
return result;
}
- public EanAlias[] ean_alias_list() {
+ public EanAlias[] ean_alias_list() throws DBusError, IOError, DatabaseError {
EanAlias[] result = {};
statements["alias_ean_list"].reset();
@@ -1165,7 +1166,7 @@ public class DataBase : Object {
return 1;
}
- public BestBeforeEntry?[] bestbeforelist() {
+ public BestBeforeEntry?[] bestbeforelist() throws DBusError, IOError, DatabaseError {
var bbdlist = new GLib.GenericArray<BestBeforeEntry?>();
foreach(var product in get_stock()) {
@@ -1195,7 +1196,7 @@ public class DataBase : Object {
return bbdlist.data;
}
- public int get_userid_for_rfid(string rfid) throws IOError, DatabaseError {
+ public int get_userid_for_rfid(string rfid) throws DBusError, IOError, DatabaseError {
statements["userid_rfid"].reset();
statements["userid_rfid"].bind_text(1, rfid);
diff --git a/src/database/db-interface.vala b/src/database/db-interface.vala
index b6d1395..5d0fdfb 100644
--- a/src/database/db-interface.vala
+++ b/src/database/db-interface.vala
@@ -15,59 +15,59 @@
[DBus (name = "io.mainframe.shopsystem.Database")]
public interface Database : Object {
- public abstract DetailedProduct[] get_stock() throws IOError;
- public abstract DetailedProduct get_product_for_ean(uint64 ean) throws IOError, DatabaseError;
- public abstract PriceEntry[] get_prices(uint64 product) throws IOError;
- public abstract RestockEntry[] get_restocks(uint64 product, bool descending) throws IOError;
- public abstract bool buy(int32 user, uint64 article) throws IOError, DatabaseError;
- public abstract string get_product_name(uint64 article) throws IOError, DatabaseError;
- public abstract string get_product_category(uint64 article) throws IOError, DatabaseError;
- public abstract int get_product_amount(uint64 article) throws IOError, DatabaseError;
- public abstract bool get_product_deprecated(uint64 article) throws IOError, DatabaseError;
- public abstract void product_deprecate(uint64 article, bool value) throws IOError, DatabaseError;
- public abstract Price get_product_price(int user, uint64 article) throws IOError, DatabaseError;
- public abstract string undo(int32 user) throws IOError, DatabaseError;
- public abstract void restock(int user, uint64 product, uint amount, uint price, int supplier, int64 best_before_date) throws IOError, DatabaseError;
- public abstract void new_product(uint64 id, string name, int category, int memberprice, int guestprice) throws IOError, DatabaseError;
- public abstract void new_price(uint64 product, int64 timestamp, int memberprice, int guestprice) throws IOError, DatabaseError;
- public abstract bool check_user_password(int32 user, string password) throws IOError;
- public abstract void set_user_password(int32 user, string password) throws IOError, DatabaseError;
- public abstract void set_sessionid(int user, string sessionid) throws IOError, DatabaseError;
- public abstract void set_userTheme(int user, string userTheme) throws IOError, DatabaseError;
- public abstract int get_user_by_sessionid(string sessionid) throws IOError, DatabaseError;
- public abstract UserInfo get_user_info(int user) throws IOError, DatabaseError;
- public abstract UserAuth get_user_auth(int user) throws IOError, DatabaseError;
- public abstract void set_user_auth(UserAuth auth) throws IOError, DatabaseError;
- public abstract string get_username(int user) throws IOError, DatabaseError;
- public abstract string get_user_theme(int user, string fallback) throws IOError, DatabaseError;
- public abstract InvoiceEntry[] get_invoice(int user, int64 from=0, int64 to=-1) throws IOError, DatabaseError;
- public abstract int64 get_first_purchase(int user) throws IOError;
- public abstract int64 get_last_purchase(int user) throws IOError;
- public abstract StatsInfo get_stats_info() throws IOError;
- public abstract int[] get_member_ids() throws IOError;
- public abstract void user_disable(int user, bool value) throws IOError, DatabaseError;
- public abstract void user_replace(UserInfo u) throws IOError, DatabaseError;
- public abstract bool user_is_disabled(int user) throws IOError, DatabaseError;
- public abstract bool user_exists(int user) throws IOError, DatabaseError;
- public abstract bool user_equals(UserInfo u) throws IOError, DatabaseError;
- public abstract int64 get_timestamp_of_last_purchase() throws IOError;
- public abstract Category[] get_category_list() throws IOError;
- public abstract Supplier[] get_supplier_list() throws IOError;
- public abstract Supplier get_supplier(int id) throws IOError;
- public abstract void add_supplier(string name, string postal_code, string city, string street, string phone, string website) throws IOError, DatabaseError;
- public abstract int[] get_users_with_sales(int64 timestamp_from, int64 timestamp_to) throws IOError;
- public abstract Price get_user_invoice_sum(int user, int64 timestamp_from, int64 timestamp_to) throws IOError;
- public abstract Price cashbox_status() throws IOError;
- public abstract void cashbox_add(int user, Price amount, int64 timestamp) throws IOError, DatabaseError;
- public abstract CashboxDiff[] cashbox_history() throws IOError;
- public abstract CashboxDiff[] cashbox_changes(int64 start, int64 stop) throws IOError;
- public abstract void ean_alias_add(uint64 ean, uint64 real_ean) throws IOError, DatabaseError;
- public abstract uint64 ean_alias_get(uint64 ean) throws IOError;
- public abstract EanAlias[] ean_alias_list() throws IOError;
- public abstract BestBeforeEntry[] bestbeforelist() throws IOError;
- public abstract int get_userid_for_rfid(string rfid) throws IOError, DatabaseError;
- public abstract void addrfid(string rfid, int user) throws IOError, DatabaseError;
- public abstract void delete_rfid_for_user(int user) throws IOError, DatabaseError;
+ public abstract DetailedProduct[] get_stock() throws DBusError, IOError;
+ public abstract DetailedProduct get_product_for_ean(uint64 ean) throws DBusError, IOError, DatabaseError;
+ public abstract PriceEntry[] get_prices(uint64 product) throws DBusError, IOError;
+ public abstract RestockEntry[] get_restocks(uint64 product, bool descending) throws DBusError, IOError;
+ public abstract bool buy(int32 user, uint64 article) throws DBusError, IOError, DatabaseError;
+ public abstract string get_product_name(uint64 article) throws DBusError, IOError, DatabaseError;
+ public abstract string get_product_category(uint64 article) throws DBusError, IOError, DatabaseError;
+ public abstract int get_product_amount(uint64 article) throws DBusError, IOError, DatabaseError;
+ public abstract bool get_product_deprecated(uint64 article) throws DBusError, IOError, DatabaseError;
+ public abstract void product_deprecate(uint64 article, bool value) throws DBusError, IOError, DatabaseError;
+ public abstract Price get_product_price(int user, uint64 article) throws DBusError, IOError, DatabaseError;
+ public abstract string undo(int32 user) throws DBusError, IOError, DatabaseError;
+ public abstract void restock(int user, uint64 product, uint amount, uint price, int supplier, int64 best_before_date) throws DBusError, IOError, DatabaseError;
+ public abstract void new_product(uint64 id, string name, int category, int memberprice, int guestprice) throws DBusError, IOError, DatabaseError;
+ public abstract void new_price(uint64 product, int64 timestamp, int memberprice, int guestprice) throws DBusError, IOError, DatabaseError;
+ public abstract bool check_user_password(int32 user, string password) throws DBusError, IOError;
+ public abstract void set_user_password(int32 user, string password) throws DBusError, IOError, DatabaseError;
+ public abstract void set_sessionid(int user, string sessionid) throws DBusError, IOError, DatabaseError;
+ public abstract void set_userTheme(int user, string userTheme) throws DBusError, IOError, DatabaseError;
+ public abstract int get_user_by_sessionid(string sessionid) throws DBusError, IOError, DatabaseError;
+ public abstract UserInfo get_user_info(int user) throws DBusError, IOError, DatabaseError;
+ public abstract UserAuth get_user_auth(int user) throws DBusError, IOError, DatabaseError;
+ public abstract void set_user_auth(UserAuth auth) throws DBusError, IOError, DatabaseError;
+ public abstract string get_username(int user) throws DBusError, IOError, DatabaseError;
+ public abstract string get_user_theme(int user, string fallback) throws DBusError, IOError, DatabaseError;
+ public abstract InvoiceEntry[] get_invoice(int user, int64 from=0, int64 to=-1) throws DBusError, IOError, DatabaseError;
+ public abstract int64 get_first_purchase(int user) throws DBusError, IOError;
+ public abstract int64 get_last_purchase(int user) throws DBusError, IOError;
+ public abstract StatsInfo get_stats_info() throws DBusError, IOError;
+ public abstract int[] get_member_ids() throws DBusError, IOError;
+ public abstract void user_disable(int user, bool value) throws DBusError, IOError, DatabaseError;
+ public abstract void user_replace(UserInfo u) throws DBusError, IOError, DatabaseError;
+ public abstract bool user_is_disabled(int user) throws DBusError, IOError, DatabaseError;
+ public abstract bool user_exists(int user) throws DBusError, IOError, DatabaseError;
+ public abstract bool user_equals(UserInfo u) throws DBusError, IOError, DatabaseError;
+ public abstract int64 get_timestamp_of_last_purchase() throws DBusError, IOError;
+ public abstract Category[] get_category_list() throws DBusError, IOError;
+ public abstract Supplier[] get_supplier_list() throws DBusError, IOError;
+ public abstract Supplier get_supplier(int id) throws DBusError, IOError;
+ public abstract void add_supplier(string name, string postal_code, string city, string street, string phone, string website) throws DBusError, IOError, DatabaseError;
+ public abstract int[] get_users_with_sales(int64 timestamp_from, int64 timestamp_to) throws DBusError, IOError;
+ public abstract Price get_user_invoice_sum(int user, int64 timestamp_from, int64 timestamp_to) throws DBusError, IOError;
+ public abstract Price cashbox_status() throws DBusError, IOError;
+ public abstract void cashbox_add(int user, Price amount, int64 timestamp) throws DBusError, IOError, DatabaseError;
+ public abstract CashboxDiff[] cashbox_history() throws DBusError, IOError;
+ public abstract CashboxDiff[] cashbox_changes(int64 start, int64 stop) throws DBusError, IOError;
+ public abstract void ean_alias_add(uint64 ean, uint64 real_ean) throws DBusError, IOError, DatabaseError;
+ public abstract uint64 ean_alias_get(uint64 ean) throws DBusError, IOError;
+ public abstract EanAlias[] ean_alias_list() throws DBusError, IOError;
+ public abstract BestBeforeEntry[] bestbeforelist() throws DBusError, IOError;
+ public abstract int get_userid_for_rfid(string rfid) throws DBusError, IOError, DatabaseError;
+ public abstract void addrfid(string rfid, int user) throws DBusError, IOError, DatabaseError;
+ public abstract void delete_rfid_for_user(int user) throws DBusError, IOError, DatabaseError;
}
public struct Category {
diff --git a/src/database/main.vala b/src/database/main.vala
index 72e3813..f65707b 100644
--- a/src/database/main.vala
+++ b/src/database/main.vala
@@ -28,6 +28,8 @@ public static int main(string[] args) {
error("IOError: %s\n", e.message);
} catch(KeyFileError e) {
error("Config Error: %s\n", e.message);
+ } catch(DBusError e) {
+ error("DBusError: %s\n", e.message);
}
Bus.own_name(
diff --git a/src/input-device/input-device-interface.vala b/src/input-device/input-device-interface.vala
index 067b827..9b16da4 100644
--- a/src/input-device/input-device-interface.vala
+++ b/src/input-device/input-device-interface.vala
@@ -16,5 +16,5 @@
[DBus (name = "io.mainframe.shopsystem.InputDevice")]
public interface InputDevice : Object {
public abstract signal void received_barcode(string barcode);
- public abstract void blink(uint duration) throws IOError;
+ public abstract void blink(uint duration) throws IOError, DBusError;
}
diff --git a/src/input-device/input-device.vala b/src/input-device/input-device.vala
index 6988c6d..d3a7691 100644
--- a/src/input-device/input-device.vala
+++ b/src/input-device/input-device.vala
@@ -315,7 +315,7 @@ public class Device {
/**
* @param duration duration of the blink in 0.1 seconds
*/
- public void blink(uint duration) {
+ public void blink(uint duration) throws IOError, DBusError {
/* not supported */
}
}
diff --git a/src/input-device/main.vala b/src/input-device/main.vala
index 30119b0..757de46 100644
--- a/src/input-device/main.vala
+++ b/src/input-device/main.vala
@@ -25,6 +25,8 @@ public static int main(string[] args) {
error("IOError: %s\n", e.message);
} catch(KeyFileError e) {
error("Config Error: %s\n", e.message);
+ } catch(DBusError e) {
+ error("DBus Error: %s\n", e.message);
}
Bus.own_name(
diff --git a/src/invoice/invoice.vala b/src/invoice/invoice.vala
index ce47c7b..c0a162c 100644
--- a/src/invoice/invoice.vala
+++ b/src/invoice/invoice.vala
@@ -39,7 +39,7 @@ public class InvoiceImplementation {
string vat;
string jverein_membership_number;
- public InvoiceImplementation() throws IOError, KeyFileError {
+ public InvoiceImplementation() throws DBusError, IOError, KeyFileError {
mailer = Bus.get_proxy_sync(BusType.SYSTEM, "io.mainframe.shopsystem.Mail", "/io/mainframe/shopsystem/mailer");
db = Bus.get_proxy_sync(BusType.SYSTEM, "io.mainframe.shopsystem.Database", "/io/mainframe/shopsystem/database");
pdf = Bus.get_proxy_sync(BusType.SYSTEM, "io.mainframe.shopsystem.InvoicePDF", "/io/mainframe/shopsystem/invoicepdf");
@@ -53,7 +53,7 @@ public class InvoiceImplementation {
jverein_membership_number = cfg.get_string("JVEREIN", "membership_number");
}
- public void send_invoice(bool temporary, int64 timestamp, int user) throws IOError, InvoicePDFError, DatabaseError {
+ public void send_invoice(bool temporary, int64 timestamp, int user) throws DBusError, IOError, InvoicePDFError, DatabaseError {
int64 prevtimestamp = timestamp - day_in_seconds;
if(!temporary)
@@ -121,7 +121,7 @@ public class InvoiceImplementation {
}
}
- public void send_invoices(bool temporary, int64 timestamp) throws IOError, InvoicePDFError, DatabaseError {
+ public void send_invoices(bool temporary, int64 timestamp) throws DBusError, IOError, InvoicePDFError, DatabaseError {
int64 prevtimestamp = timestamp - day_in_seconds;
string due_date_string = "";
@@ -200,7 +200,7 @@ public class InvoiceImplementation {
}
}
- public InvoiceData generate_invoice(bool temporary, int64 timestamp, int userid, string invoiceid) throws IOError, InvoicePDFError, DatabaseError {
+ public InvoiceData generate_invoice(bool temporary, int64 timestamp, int userid, string invoiceid) throws DBusError, IOError, InvoicePDFError, DatabaseError {
int64 prevtimestamp = timestamp - day_in_seconds;
if(!temporary)
prevtimestamp = new DateTime.from_unix_local(timestamp).add_months(-1).to_unix();
diff --git a/src/mail/mail.vala b/src/mail/mail.vala
index 63e9362..e1eec1d 100644
--- a/src/mail/mail.vala
+++ b/src/mail/mail.vala
@@ -101,12 +101,12 @@ public class MailImplementation {
}
#endif
- public void add_recipient(MailContact contact, GMime.AddressType type) {
+ public void add_recipient(MailContact contact, GMime.AddressType type) throws DBusError, IOError {
m.add_mailbox(type, contact.name, contact.email);
recipients += contact.email;
}
- public void set_main_part(string text, MessageType type) {
+ public void set_main_part(string text, MessageType type) throws DBusError, IOError {
GMime.DataWrapper content = new GMime.DataWrapper.with_stream(
new GMime.StreamMem.with_buffer(text.data),
GMime.ContentEncoding.DEFAULT);
@@ -129,7 +129,7 @@ public class MailImplementation {
}
}
- public void add_attachment(string filename, string content_type, uint8[] data) {
+ public void add_attachment(string filename, string content_type, uint8[] data) throws DBusError, IOError {
GMime.Part part = new GMime.Part();
GMime.DataWrapper content = new GMime.DataWrapper.with_stream(
diff --git a/src/mail/mailer-interface.vala b/src/mail/mailer-interface.vala
index 1b819d5..019585b 100644
--- a/src/mail/mailer-interface.vala
+++ b/src/mail/mailer-interface.vala
@@ -15,9 +15,9 @@
[DBus (name = "io.mainframe.shopsystem.Mailer")]
public interface Mailer : Object {
- public abstract string create_mail() throws IOError;
- public abstract void delete_mail(string path) throws IOError;
- public abstract void send_mail(string path) throws IOError;
+ public abstract string create_mail() throws IOError, DBusError;
+ public abstract void delete_mail(string path) throws IOError, DBusError;
+ public abstract void send_mail(string path) throws IOError, DBusError;
}
[DBus (name = "io.mainframe.shopsystem.Mail")]
@@ -28,9 +28,9 @@ public interface Mail : Object {
public abstract string reply_to { owned get; set; }
public abstract MailDate date { owned get; set; }
- public abstract void add_recipient(MailContact contact, RecipientType type = RecipientType.TO) throws IOError;
- public abstract void set_main_part(string text, MessageType type = MessageType.PLAIN) throws IOError;
- public abstract void add_attachment(string filename, string content_type, uint8[] data) throws IOError;
+ public abstract void add_recipient(MailContact contact, RecipientType type = RecipientType.TO) throws IOError, DBusError;
+ public abstract void set_main_part(string text, MessageType type = MessageType.PLAIN) throws IOError, DBusError;
+ public abstract void add_attachment(string filename, string content_type, uint8[] data) throws IOError, DBusError;
}
public struct MailAttachment {
diff --git a/src/mail/mailer.vala b/src/mail/mailer.vala
index d83e4b0..c8d609c 100644
--- a/src/mail/mailer.vala
+++ b/src/mail/mailer.vala
@@ -56,7 +56,7 @@ public class MailerImplementation {
return 1;
}
- public MailerImplementation() throws IOError {
+ public MailerImplementation() throws DBusError, IOError {
int result;
GMime.init();
@@ -67,7 +67,7 @@ public class MailerImplementation {
send_queue = new Queue<MailImplementation>();
/* ignore SIGPIPE, as suggested by libESMTP */
- Posix.signal(Posix.SIGPIPE, Posix.SIG_IGN);
+ Posix.signal(Posix.Signal.PIPE, Posix.SIG_IGN);
/* get configuration */
Config config = Bus.get_proxy_sync(BusType.SYSTEM, "io.mainframe.shopsystem.Config", "/io/mainframe/shopsystem/config");
@@ -120,7 +120,7 @@ public class MailerImplementation {
GMime.shutdown();
}
- public string create_mail() throws IOError {
+ public string create_mail() throws DBusError, IOError {
string path = @"/io/mainframe/shopsystem/mail/$mailcounter";
var mail = new MailImplementation();
@@ -136,7 +136,7 @@ public class MailerImplementation {
return path;
}
- public void delete_mail(string path) throws IOError {
+ public void delete_mail(string path) throws DBusError, IOError {
if(!(path in mails))
throw new IOError.NOT_FOUND("No such mail");
@@ -144,7 +144,7 @@ public class MailerImplementation {
mails.remove(path);
}
- public void send_mail(string path) throws IOError {
+ public void send_mail(string path) throws DBusError, IOError {
if(!(path in mails))
throw new IOError.NOT_FOUND("No such mail");
diff --git a/src/mail/main.vala b/src/mail/main.vala
index 0c36f6b..989c4f1 100644
--- a/src/mail/main.vala
+++ b/src/mail/main.vala
@@ -19,7 +19,7 @@ DBusConnection mail_bus;
public static int main(string[] args) {
try {
m = new MailerImplementation();
- } catch(IOError e) {
+ } catch(Error e) {
stderr.printf("Error: %s\n", e.message);
}
diff --git a/src/pdf-invoice/main.vala b/src/pdf-invoice/main.vala
index 3d8e298..dc95bde 100644
--- a/src/pdf-invoice/main.vala
+++ b/src/pdf-invoice/main.vala
@@ -19,6 +19,8 @@ public static int main(string[] args) {
try {
Config cfg = Bus.get_proxy_sync(BusType.SYSTEM, "io.mainframe.shopsystem.Config", "/io/mainframe/shopsystem/config");
datadir = cfg.get_string("INVOICE", "datadir");
+ } catch(DBusError e) {
+ error("DBusError: %s\n", e.message);
} catch(IOError e) {
error("IOError: %s\n", e.message);
} catch(KeyFileError e) {
@@ -41,7 +43,7 @@ public static int main(string[] args) {
void on_bus_aquired(DBusConnection conn) {
try {
conn.register_object("/io/mainframe/shopsystem/invoicepdf", new InvoicePDF(datadir));
- } catch(IOError e) {
- stderr.printf("Could not register service\n");
+ } catch(Error e) {
+ stderr.printf("Could not register service: %s\n", e.message);
}
}
diff --git a/src/pdf-invoice/pdf-invoice-interface.vala b/src/pdf-invoice/pdf-invoice-interface.vala
index 8fccbf0..41abc6d 100644
--- a/src/pdf-invoice/pdf-invoice-interface.vala
+++ b/src/pdf-invoice/pdf-invoice-interface.vala
@@ -43,6 +43,6 @@ public interface PDFInvoice : Object {
public abstract InvoiceRecipient invoice_recipient { set; owned get; }
public abstract InvoiceEntry[] invoice_entries { set; owned get; }
- public abstract uint8[] generate() throws IOError, InvoicePDFError;
- public abstract void clear() throws IOError;
+ public abstract uint8[] generate() throws DBusError, IOError, InvoicePDFError;
+ public abstract void clear() throws DBusError, IOError;
}
diff --git a/src/pdf-invoice/pdf-invoice.vala b/src/pdf-invoice/pdf-invoice.vala
index 6fd4383..a5696b1 100644
--- a/src/pdf-invoice/pdf-invoice.vala
+++ b/src/pdf-invoice/pdf-invoice.vala
@@ -65,7 +65,7 @@ public class InvoicePDF {
string longname;
string vat;
- public InvoicePDF(string datadir) {
+ public InvoicePDF(string datadir) throws DBusError, IOError, KeyFileError {
this.datadir = datadir;
cfg = Bus.get_proxy_sync(BusType.SYSTEM, "io.mainframe.shopsystem.Config", "/io/mainframe/shopsystem/config");
longname = cfg.get_string("GENERAL", "longname");
@@ -96,7 +96,7 @@ public class InvoicePDF {
ctx.restore();
}
- private void draw_address(Cairo.Context ctx) {
+ private void draw_address(Cairo.Context ctx) throws DBusError, IOError, KeyFileError {
ctx.save();
ctx.set_source_rgb(0, 0, 0);
ctx.set_line_width(1.0);
@@ -206,7 +206,7 @@ public class InvoicePDF {
ctx.restore();
}
- private void draw_footer_text_left(Cairo.Context ctx) {
+ private void draw_footer_text_left(Cairo.Context ctx) throws DBusError, IOError, KeyFileError {
ctx.save();
ctx.move_to(64.0, 742.0);
ctx.set_source_rgb(0, 0, 0);
@@ -242,7 +242,7 @@ public class InvoicePDF {
ctx.restore();
}
- private void draw_footer_text_middle(Cairo.Context ctx) {
+ private void draw_footer_text_middle(Cairo.Context ctx) throws DBusError, IOError, KeyFileError {
ctx.save();
ctx.move_to(216.5, 742.0);
ctx.set_source_rgb(0, 0, 0);
@@ -278,7 +278,7 @@ public class InvoicePDF {
ctx.restore();
}
- private void draw_footer_text_right(Cairo.Context ctx) {
+ private void draw_footer_text_right(Cairo.Context ctx) throws DBusError, IOError, KeyFileError {
ctx.save();
ctx.move_to(410.0, 742.0);
ctx.set_source_rgb(0, 0, 0);
@@ -331,7 +331,7 @@ public class InvoicePDF {
return "Moin";
}
- private void draw_first_page_text(Cairo.Context ctx) {
+ private void draw_first_page_text(Cairo.Context ctx) throws IOError {
ctx.save();
ctx.move_to(56.5, 352.5);
ctx.set_source_rgb(0, 0, 0);
@@ -616,7 +616,7 @@ public class InvoicePDF {
return Cairo.Status.SUCCESS;
}
- public uint8[] generate() throws InvoicePDFError {
+ public uint8[] generate() throws DBusError, IOError, InvoicePDFError, KeyFileError {
data = null;
var document = new Cairo.PdfSurface.for_stream(pdf_write, width, height);
@@ -657,7 +657,7 @@ public class InvoicePDF {
return data;
}
- public void clear() {
+ public void clear() throws DBusError, IOError {
invoice_date = 0;
invoice_id = "";
invoice_recipient.firstname = "";
diff --git a/src/pdf-stock/pdf-stock-interface.vala b/src/pdf-stock/pdf-stock-interface.vala
index 415916f..5168250 100644
--- a/src/pdf-stock/pdf-stock-interface.vala
+++ b/src/pdf-stock/pdf-stock-interface.vala
@@ -15,5 +15,5 @@
[DBus (name = "io.mainframe.shopsystem.StockPDF")]
public interface PDFStock : Object {
- public abstract uint8[] generate() throws IOError;
+ public abstract uint8[] generate() throws DBusError, IOError;
}
diff --git a/src/pdf-stock/pdf-stock.vala b/src/pdf-stock/pdf-stock.vala
index 1d16e4a..2edba88 100644
--- a/src/pdf-stock/pdf-stock.vala
+++ b/src/pdf-stock/pdf-stock.vala
@@ -154,7 +154,7 @@ public class StockPDF {
return Cairo.Status.SUCCESS;
}
- public uint8[] generate() {
+ public uint8[] generate() throws DBusError, IOError {
data = null;
var surface = new Cairo.PdfSurface.for_stream(pdf_write, a4w, a4h);
diff --git a/src/pgp/main.vala b/src/pgp/main.vala
index c866c7b..332bcd5 100644
--- a/src/pgp/main.vala
+++ b/src/pgp/main.vala
@@ -24,6 +24,8 @@ public static int main(string[] args) {
try {
cfg = Bus.get_proxy_sync(BusType.SYSTEM, "io.mainframe.shopsystem.Config", "/io/mainframe/shopsystem/config");
pgp = new PGPKeyArchive(cfg.get_string("PGP", "keyring"));
+ } catch(DBusError e) {
+ error("DBusError: %s\n", e.message);
} catch(IOError e) {
error("IOError: %s\n", e.message);
} catch(KeyFileError e) {
diff --git a/src/pgp/pgp-interface.vala b/src/pgp/pgp-interface.vala
index 62bfe67..2621fae 100644
--- a/src/pgp/pgp-interface.vala
+++ b/src/pgp/pgp-interface.vala
@@ -15,7 +15,7 @@
[DBus (name = "io.mainframe.shopsystem.PGP")]
public interface PGP : Object {
- public abstract string[] import_archive(uint8[] data) throws IOError;
- public abstract string[] list_keys() throws IOError;
- public abstract string get_key(string fingerprint) throws IOError;
+ public abstract string[] import_archive(uint8[] data) throws IOError, DBusError;
+ public abstract string[] list_keys() throws IOError, DBusError;
+ public abstract string get_key(string fingerprint) throws IOError, DBusError;
}
diff --git a/src/pgp/pgp.vala b/src/pgp/pgp.vala
index bb48c61..560b00f 100644
--- a/src/pgp/pgp.vala
+++ b/src/pgp/pgp.vala
@@ -42,7 +42,7 @@ public class PGPKeyArchive {
gpg.set_armor(true);
}
- public string[] import_archive(uint8[] data) {
+ public string[] import_archive(uint8[] data) throws DBusError, IOError {
string[] result = {};
unowned Archive.Entry entry;
var archive = new Archive.Read();
@@ -93,7 +93,7 @@ public class PGPKeyArchive {
return result;
}
- public string[] list_keys() {
+ public string[] list_keys() throws DBusError, IOError {
string[] result = {};
GPG.Key key;
@@ -108,7 +108,7 @@ public class PGPKeyArchive {
return result;
}
- public string get_key(string fingerprint) {
+ public string get_key(string fingerprint) throws DBusError, IOError {
GPG.Data keydata;
GPG.Data.create(out keydata);
diff --git a/src/scanner-session/scannersession.vala b/src/scanner-session/scannersession.vala
index 7cc9cc4..c1b513e 100644
--- a/src/scanner-session/scannersession.vala
+++ b/src/scanner-session/scannersession.vala
@@ -56,7 +56,7 @@ public class ScannerSessionImplementation {
msg(type, message);
}
- private bool login(int user) throws IOError {
+ private bool login(int user) throws DBusError, IOError {
this.user = user;
try {
this.name = db.get_username(user);
@@ -79,7 +79,7 @@ public class ScannerSessionImplementation {
return true;
}
- private ScannerSessionCodeType getCodeType(string scannerdata){
+ private ScannerSessionCodeType getCodeType(string scannerdata) {
if(scannerdata.has_prefix("USER ")){
return ScannerSessionCodeType.USER;
} else if(scannerdata == "GUEST") {
@@ -103,7 +103,7 @@ public class ScannerSessionImplementation {
}
}
- private void play_audio(AudioType audioType){
+ private void play_audio(AudioType audioType) throws DBusError, IOError {
switch (audioType) {
case AudioType.ERROR:
audio.play_system("error.ogg");
@@ -123,7 +123,7 @@ public class ScannerSessionImplementation {
}
}
- private ScannerResult handleReadyState(string scannerdata) throws DatabaseError, IOError{
+ private ScannerResult handleReadyState(string scannerdata) throws DatabaseError, DBusError, IOError {
ScannerSessionCodeType codeType = getCodeType(scannerdata);
ScannerResult scannerResult = ScannerResult();
switch (codeType) {
@@ -199,7 +199,7 @@ public class ScannerSessionImplementation {
}
}
- private ScannerResult handleUserState(string scannerdata) throws DatabaseError, IOError {
+ private ScannerResult handleUserState(string scannerdata) throws DatabaseError, DBusError, IOError {
ScannerSessionCodeType codeType = getCodeType(scannerdata);
ScannerResult scannerResult = ScannerResult();
switch (codeType) {
@@ -268,7 +268,7 @@ public class ScannerSessionImplementation {
return scannerResult;
}
- private ScannerResult buyShoppingCard() {
+ private ScannerResult buyShoppingCard() throws DatabaseError, DBusError, IOError {
ScannerResult scannerResult = ScannerResult();
uint8 amountOfItems = 0;
Price totalPrice = 0;
@@ -295,6 +295,8 @@ public class ScannerSessionImplementation {
stdout.printf("scannerdata: %s\n", scannerdata);
if(interpret(scannerdata))
devScanner.blink(1000);
+ } catch(DBusError e) {
+ send_message(MessageType.ERROR, "DBusError: %s", e.message);
} catch(IOError e) {
send_message(MessageType.ERROR, "IOError: %s", e.message);
} catch(DatabaseError e) {
@@ -302,7 +304,7 @@ public class ScannerSessionImplementation {
}
}
- private bool interpret(string scannerdata) throws DatabaseError, IOError {
+ private bool interpret(string scannerdata) throws DatabaseError, DBusError, IOError {
ScannerResult scannerResult = ScannerResult();
switch (state) {
case ScannerSessionState.READY:
@@ -321,7 +323,7 @@ public class ScannerSessionImplementation {
return true;
}
- private ScannerResult logout() {
+ private ScannerResult logout() throws DatabaseError, DBusError, IOError {
ScannerResult scannerResult = ScannerResult();
scannerResult = buyShoppingCard();
logged_in = false;
diff --git a/src/serial-device/main.vala b/src/serial-device/main.vala
index 70d50e2..d8dadf3 100644
--- a/src/serial-device/main.vala
+++ b/src/serial-device/main.vala
@@ -23,6 +23,8 @@ public static int main(string[] args) {
error("IOError: %s\n", e.message);
} catch(KeyFileError e) {
error("Config Error: %s\n", e.message);
+ } catch(DBusError e) {
+ error("DBus Error: %s\n", e.message);
}
Bus.own_name(
diff --git a/src/serial-device/serial-device.vala b/src/serial-device/serial-device.vala
index 549cd74..ae7480b 100644
--- a/src/serial-device/serial-device.vala
+++ b/src/serial-device/serial-device.vala
@@ -272,7 +272,7 @@ public class Device {
/**
* @param duration duration of the blink in 0.1 seconds
*/
- public void blink(uint duration) {
+ public void blink(uint duration) throws IOError, DBusError {
uint size = (byterate/1000) * duration;
var msg = new uint8[size];
Posix.memset(msg, 0xFF, msg.length);
diff --git a/src/web/csv.vala b/src/web/csv.vala
index 5d4daba..6356f77 100644
--- a/src/web/csv.vala
+++ b/src/web/csv.vala
@@ -17,7 +17,7 @@
public class CSVMemberFile {
private UserInfo[] members;
- public Gee.List<int> missing_unblocked_members() throws DatabaseError, IOError {
+ public Gee.List<int> missing_unblocked_members() throws DatabaseError, IOError, DBusError {
var result = new Gee.ArrayList<int>();
var dbusers = db.get_member_ids();
diff --git a/src/web/main.vala b/src/web/main.vala
index 7070e66..e249d81 100644
--- a/src/web/main.vala
+++ b/src/web/main.vala
@@ -44,6 +44,8 @@ public static int main(string[] args) {
error("IOError: %s\n", e.message);
} catch(KeyFileError e) {
error("KeyFileError: %s\n", e.message);
+ } catch(DBusError e) {
+ error("DBusError: %s\n", e.message);
}
stdout.printf("Web Server Port: %u\n", port);
diff --git a/src/web/web.vala b/src/web/web.vala
index f4207ad..9280fef 100644
--- a/src/web/web.vala
+++ b/src/web/web.vala
@@ -34,6 +34,8 @@ public class WebServer {
handler_400(server, msg, path, query, client, e.message);
} catch(IOError e) {
handler_400(server, msg, path, query, client, e.message);
+ } catch(DBusError e) {
+ handler_400(server, msg, path, query, client, e.message);
}
}
@@ -54,6 +56,8 @@ public class WebServer {
handler_400(server, msg, path, query, client, e.message);
} catch(IOError e) {
handler_400(server, msg, path, query, client, e.message);
+ } catch(DBusError e) {
+ handler_400(server, msg, path, query, client, e.message);
}
}
@@ -123,6 +127,8 @@ public class WebServer {
handler_400(server, msg, path, query, client, e.message);
} catch(IOError e) {
handler_400(server, msg, path, query, client, e.message);
+ } catch(DBusError e) {
+ handler_400(server, msg, path, query, client, e.message);
}
}
@@ -177,6 +183,8 @@ public class WebServer {
handler_400(server, msg, path, query, client, e.message);
} catch(IOError e) {
handler_400(server, msg, path, query, client, e.message);
+ } catch(DBusError e) {
+ handler_400(server, msg, path, query, client, e.message);
}
}
@@ -282,6 +290,8 @@ public class WebServer {
handler_400(server, msg, path, query, client, e.message);
} catch(IOError e) {
handler_400(server, msg, path, query, client, e.message);
+ } catch(DBusError e) {
+ handler_400(server, msg, path, query, client, e.message);
}
}
@@ -322,6 +332,8 @@ public class WebServer {
handler_400(server, msg, path, query, client, e.message);
} catch(IOError e) {
handler_400(server, msg, path, query, client, e.message);
+ } catch(DBusError e) {
+ handler_400(server, msg, path, query, client, e.message);
}
}
@@ -409,6 +421,8 @@ public class WebServer {
handler_400(server, msg, path, query, client, e.message);
} catch(IOError e) {
handler_400(server, msg, path, query, client, e.message);
+ } catch(DBusError e) {
+ handler_400(server, msg, path, query, client, e.message);
}
}
@@ -527,6 +541,8 @@ public class WebServer {
handler_400(server, msg, path, query, client, e.message);
} catch(IOError e) {
handler_400(server, msg, path, query, client, e.message);
+ } catch(DBusError e) {
+ handler_400(server, msg, path, query, client, e.message);
}
}
@@ -594,6 +610,8 @@ public class WebServer {
handler_400(server, msg, path, query, client, e.message);
} catch(IOError e) {
handler_400(server, msg, path, query, client, e.message);
+ } catch(DBusError e) {
+ handler_400(server, msg, path, query, client, e.message);
}
}
@@ -627,6 +645,8 @@ public class WebServer {
handler_400(server, msg, path, query, client, e.message);
} catch(IOError e) {
handler_400(server, msg, path, query, client, e.message);
+ } catch(DBusError e) {
+ handler_400(server, msg, path, query, client, e.message);
}
}
@@ -650,6 +670,8 @@ public class WebServer {
handler_400(server, msg, path, query, client, e.message);
} catch(IOError e) {
handler_400(server, msg, path, query, client, e.message);
+ } catch(DBusError e) {
+ handler_400(server, msg, path, query, client, e.message);
}
}
@@ -731,6 +753,8 @@ public class WebServer {
handler_400(server, msg, path, query, client, e.message);
} catch(IOError e) {
handler_400(server, msg, path, query, client, e.message);
+ } catch(DBusError e) {
+ handler_400(server, msg, path, query, client, e.message);
}
}
@@ -782,6 +806,8 @@ public class WebServer {
handler_400(server, msg, path, query, client, e.message);
} catch(IOError e) {
handler_400(server, msg, path, query, client, e.message);
+ } catch(DBusError e) {
+ handler_400(server, msg, path, query, client, e.message);
}
}
@@ -840,6 +866,8 @@ public class WebServer {
handler_400(server, msg, path, query, client, e.message);
} catch(IOError e) {
handler_400(server, msg, path, query, client, e.message);
+ } catch(DBusError e) {
+ handler_400(server, msg, path, query, client, e.message);
}
}
@@ -886,6 +914,8 @@ public class WebServer {
handler_400(server, msg, path, query, client, e.message);
} catch(IOError e) {
handler_400(server, msg, path, query, client, e.message);
+ } catch(DBusError e) {
+ handler_400(server, msg, path, query, client, e.message);
}
}
@@ -919,6 +949,8 @@ public class WebServer {
handler_400(server, msg, path, query, client, e.message);
} catch(IOError e) {
handler_400(server, msg, path, query, client, e.message);
+ } catch(DBusError e) {
+ handler_400(server, msg, path, query, client, e.message);
}
}
@@ -967,6 +999,8 @@ public class WebServer {
handler_400(server, msg, path, query, client, e.message);
} catch(IOError e) {
handler_400(server, msg, path, query, client, e.message);
+ } catch(DBusError e) {
+ handler_400(server, msg, path, query, client, e.message);
}
}
@@ -1139,6 +1173,8 @@ public class WebServer {
} catch(IOError e) {
stderr.printf(e.message+"\n");
handler_400_fallback(server, msg, path, query, client);
+ } catch(DBusError e) {
+ handler_400(server, msg, path, query, client, e.message);
}
}
@@ -1163,6 +1199,8 @@ public class WebServer {
handler_400(server, msg, path, query, client, e.message);
} catch(IOError e) {
handler_400(server, msg, path, query, client, e.message);
+ } catch(DBusError e) {
+ handler_400(server, msg, path, query, client, e.message);
}
}
@@ -1182,6 +1220,8 @@ public class WebServer {
handler_400(server, msg, path, query, client, e.message);
} catch(IOError e) {
handler_400(server, msg, path, query, client, e.message);
+ } catch(DBusError e) {
+ handler_400(server, msg, path, query, client, e.message);
}
}
@@ -1230,6 +1270,8 @@ public class WebServer {
handler_400(server, msg, path, query, client, e.message);
} catch(IOError e) {
handler_400(server, msg, path, query, client, e.message);
+ } catch(DBusError e) {
+ handler_400(server, msg, path, query, client, e.message);
}
}
@@ -1302,6 +1344,8 @@ public class WebServer {
handler_400(server, msg, path, query, client, e.message);
} catch(IOError e) {
handler_400(server, msg, path, query, client, e.message);
+ } catch(DBusError e) {
+ handler_400(server, msg, path, query, client, e.message);
}
}
@@ -1328,6 +1372,8 @@ public class WebServer {
handler_400(server, msg, path, query, client, e.message);
} catch(IOError e) {
handler_400(server, msg, path, query, client, e.message);
+ } catch(DBusError e) {
+ handler_400(server, msg, path, query, client, e.message);
}
}
}
@@ -1409,6 +1455,8 @@ public class WebServer {
handler_400(server, msg, path, query, client, e.message);
} catch(IOError e) {
handler_400(server, msg, path, query, client, e.message);
+ } catch(DBusError e) {
+ handler_400(server, msg, path, query, client, e.message);
}
}
diff --git a/src/web/websession.vala b/src/web/websession.vala
index ae3cafc..839d0a2 100644
--- a/src/web/websession.vala
+++ b/src/web/websession.vala
@@ -82,7 +82,7 @@ public class WebSession {
return result;
}
- private void setup_auth(int user) throws DatabaseError, IOError {
+ private void setup_auth(int user) throws DatabaseError, IOError, DBusError {
var auth = db.get_user_auth(user);
this.disabled = db.user_is_disabled(user);
this.superuser = auth.superuser;
@@ -92,7 +92,7 @@ public class WebSession {
this.logged_in = true;
}
- public void logout() throws DatabaseError, IOError {
+ public void logout() throws DatabaseError, IOError, DBusError {
if(logged_in) {
db.set_sessionid(user, "");
superuser = false;
@@ -103,7 +103,7 @@ public class WebSession {
}
}
- public WebSession(Soup.Server server, Soup.Message msg, string path, GLib.HashTable<string,string>? query, Soup.ClientContext client) throws DatabaseError, IOError {
+ public WebSession(Soup.Server server, Soup.Message msg, string path, GLib.HashTable<string,string>? query, Soup.ClientContext client) throws DatabaseError, IOError, DBusError {
var cookies = Soup.cookies_from_request(msg);
/* Check for existing session */