diff --git a/Makefile.am b/Makefile.am index 8dc41b2..66f899a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -7,11 +7,13 @@ mconnect_SOURCES = src/main.vala \ src/discovery.vala \ src/packet.vala \ src/device.vala \ - src/devicemanager.vala + src/core.vala \ + src/mconn-crypt.c \ + src/mconn-crypt.h mconnect_LDADD = $(MCONNECT_LIBS) -mconnect_CFLAGS = $(MCONNECT_CFLAGS) +mconnect_CFLAGS = $(MCONNECT_CFLAGS) -Isrc test_mconn_crypt_SOURCES = test/mconn-crypt-test.c \ src/mconn-crypt.c \ diff --git a/src/core.vala b/src/core.vala new file mode 100644 index 0000000..90f6a60 --- /dev/null +++ b/src/core.vala @@ -0,0 +1,45 @@ +/* ex:ts=4:sw=4:sts=4:et */ +/* -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */ +/** + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + * AUTHORS + * Maciek Borzecki + */ +using MConn; + +class Core : Object { + + public Crypt crypt { get; private set; default = null; } + + private static Core _instance = null; + + private Core(Crypt crypt) { + debug("init core"); + this.crypt = crypt; + } + + public static Core? instance() { + if (Core._instance == null) + { + var crypt = new Crypt.for_key_path("private.pem"); + + var core = new Core(crypt); + Core._instance = core; + } + + return Core._instance; + } + +} \ No newline at end of file