Selaa lähdekoodia

Sort out meson

Billy Barrow 4 vuotta sitten
vanhempi
sitoutus
cc23cb47f2

+ 11 - 5
.gitignore

@@ -1,5 +1,11 @@
-builddir
-hlpced.p
-meson-info
-meson-logs
-meson-private
+/builddir
+*.p
+/lib
+/toys
+/meson-info
+/meson-logs
+/meson-private
+/.ninja_deps
+/.ninja_log
+/build.ninja
+/compile_commands.json

BIN
.ninja_deps


+ 0 - 80
.ninja_log

@@ -1,80 +0,0 @@
-# ninja log v5
-0	482	1618021121424412916	build.ninja	1aa63ebfb8ddb11e
-3	341	1618021121774415175	hlpced.p/Protocols/MX2/InstanceReference.c	2d7a2d7074c92a3e
-3	341	1618021121774415175	hlpced.p/Networks/Advertisement.c	2d7a2d7074c92a3e
-3	341	1618021121774415175	hlpced.p/Networks/Simulation/NetSimPeerInfo.c	2d7a2d7074c92a3e
-3	341	1618021121774415175	hlpced.p/Util/QueueCommand.c	2d7a2d7074c92a3e
-3	341	1618021121774415175	hlpced.p/Networks/Simulation/Conduit.c	2d7a2d7074c92a3e
-3	341	1618021121774415175	hlpced.p/Daemon.c	2d7a2d7074c92a3e
-343	611	1618021122083417169	hlpced.p/meson-generated_Networks_Receiption.c.o	2822ee7fec9da870
-342	697	1618021122175417763	hlpced.p/meson-generated_Networks_PeerInfo.c.o	d8b949ba01d40658
-372	729	1618021122206417963	hlpced.p/meson-generated_Networks_Simulation_NetSimPeerInfo.c.o	5da65d1cbc9c922a
-0	10	0	meson-clean	a7c70eacb11a5051
-344	577	1618021122053416975	hlpced.p/meson-generated_Networks_Simulation_Packet.c.o	67d98f1e946ac16d
-381	717	1618021122194417885	hlpced.p/meson-generated_Networks_Simulation_Conduit.c.o	2bfed11430b17ebe
-580	849	1618021122326418737	hlpced.p/meson-generated_Daemon.c.o	5687f300df9b2a05
-3	341	1618021121774415175	hlpced.p/Networks/PeerInfo.c	2d7a2d7074c92a3e
-3	341	1618021121774415175	hlpced.p/Networks/UnknownPeerInfo.c	2d7a2d7074c92a3e
-3	341	1618021121774415175	hlpced.p/Networks/Network.c	2d7a2d7074c92a3e
-341	610	1618021122083417169	hlpced.p/meson-generated_Networks_Network.c.o	952776849be5dd8d
-464	504	1615077515590918967	hlpced	26788228218aee05
-394	739	1618021122217418033	hlpced.p/meson-generated_Networks_Simulation_NetSim.c.o	a16ba704b1000e9a
-345	638	1618021122112417356	hlpced.p/meson-generated_Util_QueueCommand.c.o	a7965525aad14579
-3	341	1618021121774415175	hlpced.p/Networks/Simulation/NetSim.c	2d7a2d7074c92a3e
-344	654	1618021122132417485	hlpced.p/meson-generated_Protocols_MX2_InstanceReference.c.o	d00e9c61927c228c
-3	341	1618021121774415175	hlpced.p/Networks/Simulation/Packet.c	2d7a2d7074c92a3e
-598	765	1618021122242418195	hlpced.p/meson-generated_Networks_Advertisement.c.o	1ec7621938e192d2
-3	341	1618021121774415175	hlpced.p/Networks/Receiption.c	2d7a2d7074c92a3e
-343	597	1618021122071417092	hlpced.p/meson-generated_Networks_UnknownPeerInfo.c.o	f3e5a2dd661d6153
-0	10	0	meson-clean	a7c70eacb11a5051
-3	382	1618021133794492746	hlpced.p/Daemon.c	2d7a2d7074c92a3e
-3	382	1618021133794492746	hlpced.p/Networks/Advertisement.c	2d7a2d7074c92a3e
-3	382	1618021133794492746	hlpced.p/Networks/Network.c	2d7a2d7074c92a3e
-3	382	1618021133794492746	hlpced.p/Networks/PeerInfo.c	2d7a2d7074c92a3e
-3	382	1618021133794492746	hlpced.p/Networks/UnknownPeerInfo.c	2d7a2d7074c92a3e
-3	382	1618021133794492746	hlpced.p/Networks/Receiption.c	2d7a2d7074c92a3e
-3	382	1618021133794492746	hlpced.p/Networks/Simulation/NetSimPeerInfo.c	2d7a2d7074c92a3e
-3	382	1618021133794492746	hlpced.p/Networks/Simulation/Conduit.c	2d7a2d7074c92a3e
-3	382	1618021133794492746	hlpced.p/Networks/Simulation/NetSim.c	2d7a2d7074c92a3e
-3	382	1618021133794492746	hlpced.p/Networks/Simulation/Packet.c	2d7a2d7074c92a3e
-3	382	1618021133794492746	hlpced.p/Protocols/MX2/InstanceReference.c	2d7a2d7074c92a3e
-3	382	1618021133794492746	hlpced.p/Util/QueueCommand.c	2d7a2d7074c92a3e
-383	562	1618021134017494186	hlpced.p/meson-generated_Networks_Advertisement.c.o	1ec7621938e192d2
-405	656	1618021134110494786	hlpced.p/meson-generated_Networks_Simulation_Packet.c.o	67d98f1e946ac16d
-388	679	1618021134131494921	hlpced.p/meson-generated_Networks_Simulation_NetSimPeerInfo.c.o	5da65d1cbc9c922a
-397	707	1618021134163495128	hlpced.p/meson-generated_Networks_Simulation_NetSim.c.o	a16ba704b1000e9a
-384	711	1618021134163495128	hlpced.p/meson-generated_Networks_Network.c.o	952776849be5dd8d
-383	713	1618021134165495141	hlpced.p/meson-generated_Daemon.c.o	5687f300df9b2a05
-386	718	1618021134175495205	hlpced.p/meson-generated_Networks_Receiption.c.o	2822ee7fec9da870
-394	761	1618021134218495483	hlpced.p/meson-generated_Networks_Simulation_Conduit.c.o	2bfed11430b17ebe
-384	767	1618021134223495515	hlpced.p/meson-generated_Networks_PeerInfo.c.o	d8b949ba01d40658
-384	769	1618021134226495534	hlpced.p/meson-generated_Networks_UnknownPeerInfo.c.o	f3e5a2dd661d6153
-658	819	1618021134274495844	hlpced.p/meson-generated_Util_QueueCommand.c.o	a7965525aad14579
-563	861	1618021134316496115	hlpced.p/meson-generated_Protocols_MX2_InstanceReference.c.o	d00e9c61927c228c
-0	593	1618021555247212973	build.ninja	1aa63ebfb8ddb11e
-0	4	0	meson-clean	a7c70eacb11a5051
-3	340	1618021556816223117	hlpced.p/Daemon.c	2d7a2d7074c92a3e
-3	340	1618021556816223117	hlpced.p/Networks/Advertisement.c	2d7a2d7074c92a3e
-3	340	1618021556816223117	hlpced.p/Networks/Network.c	2d7a2d7074c92a3e
-3	340	1618021556816223117	hlpced.p/Networks/PeerInfo.c	2d7a2d7074c92a3e
-3	340	1618021556816223117	hlpced.p/Networks/UnknownPeerInfo.c	2d7a2d7074c92a3e
-3	340	1618021556816223117	hlpced.p/Networks/Receiption.c	2d7a2d7074c92a3e
-3	340	1618021556816223117	hlpced.p/Networks/Simulation/NetSimPeerInfo.c	2d7a2d7074c92a3e
-3	340	1618021556816223117	hlpced.p/Networks/Simulation/Conduit.c	2d7a2d7074c92a3e
-3	340	1618021556816223117	hlpced.p/Networks/Simulation/NetSim.c	2d7a2d7074c92a3e
-3	340	1618021556816223117	hlpced.p/Networks/Simulation/Packet.c	2d7a2d7074c92a3e
-3	340	1618021556816223117	hlpced.p/Protocols/MX2/InstanceReference.c	2d7a2d7074c92a3e
-3	340	1618021556816223117	hlpced.p/Util/QueueCommand.c	2d7a2d7074c92a3e
-342	597	1618021557116225056	hlpced.p/meson-generated_Networks_UnknownPeerInfo.c.o	f3e5a2dd661d6153
-340	625	1618021557136225185	hlpced.p/meson-generated_Daemon.c.o	5687f300df9b2a05
-341	630	1618021557138225198	hlpced.p/meson-generated_Networks_Network.c.o	952776849be5dd8d
-340	632	1618021557144225237	hlpced.p/meson-generated_Networks_Advertisement.c.o	1ec7621938e192d2
-374	671	1618021557191225541	hlpced.p/meson-generated_Networks_Simulation_Packet.c.o	67d98f1e946ac16d
-356	680	1618021557202225612	hlpced.p/meson-generated_Networks_Simulation_Conduit.c.o	2bfed11430b17ebe
-352	693	1618021557214225690	hlpced.p/meson-generated_Networks_Simulation_NetSimPeerInfo.c.o	5da65d1cbc9c922a
-364	701	1618021557223225748	hlpced.p/meson-generated_Networks_Simulation_NetSim.c.o	a16ba704b1000e9a
-341	706	1618021557228225780	hlpced.p/meson-generated_Networks_PeerInfo.c.o	d8b949ba01d40658
-343	725	1618021557247225903	hlpced.p/meson-generated_Networks_Receiption.c.o	2822ee7fec9da870
-628	776	1618021557297226226	hlpced.p/meson-generated_Util_QueueCommand.c.o	a7965525aad14579
-599	833	1618021557354226595	hlpced.p/meson-generated_Protocols_MX2_InstanceReference.c.o	d00e9c61927c228c
-833	900	1618021557421227028	hlpced	52c145f07bf35eb2

+ 0 - 173
build.ninja

@@ -1,173 +0,0 @@
-# This is the build file for project "High Level Peer Communication Engine Daemon"
-# It is autogenerated by the Meson build system.
-# Do not edit by hand.
-
-ninja_required_version = 1.7.1
-
-# Rules for compiling.
-
-rule c_COMPILER
- command = cc $ARGS -MD -MQ $out -MF $DEPFILE -o $out -c $in
- deps = gcc
- depfile = $DEPFILE_UNQUOTED
- description = Compiling C object $out
-
-rule vala_COMPILER
- command = valac $ARGS $in
- description = Compiling Vala source $in
- restat = 1
-
-# Rules for linking.
-
-rule c_LINKER
- command = cc $ARGS -o $out $in $LINK_ARGS
- description = Linking target $out
-
-# Other rules
-
-rule CUSTOM_COMMAND
- command = $COMMAND
- description = $DESC
- restat = 1
-
-rule REGENERATE_BUILD
- command = /usr/bin/meson --internal regenerate /home/bbarrow/Projects/LibPeer-Vala/src /home/bbarrow/Projects/LibPeer-Vala --backend ninja
- description = Regenerating build files.
- generator = 1
-
-# Phony build target, always out of date
-
-build PHONY: phony 
-
-# Build rules for targets
-
-build hlpced.p/Daemon.c hlpced.p/Networks/Advertisement.c hlpced.p/Networks/Network.c hlpced.p/Networks/PeerInfo.c hlpced.p/Networks/UnknownPeerInfo.c hlpced.p/Networks/Receiption.c hlpced.p/Networks/Simulation/NetSimPeerInfo.c hlpced.p/Networks/Simulation/Conduit.c hlpced.p/Networks/Simulation/NetSim.c hlpced.p/Networks/Simulation/Packet.c hlpced.p/Protocols/MX2/InstanceReference.c hlpced.p/Util/QueueCommand.c: vala_COMPILER src/Daemon.vala src/Networks/Advertisement.vala src/Networks/Network.vala src/Networks/PeerInfo.vala src/Networks/UnknownPeerInfo.vala src/Networks/Receiption.vala src/Networks/Simulation/NetSimPeerInfo.vala src/Networks/Simulation/Conduit.vala src/Networks/Simulation/NetSim.vala src/Networks/Simulation/Packet.vala src/Protocols/MX2/InstanceReference.vala src/Util/QueueCommand.vala
- ARGS = -C --debug --debug --vapidir /home/bbarrow/Projects/LibPeer-Vala/src/vapi /home/bbarrow/Projects/LibPeer-Vala/src/vapi/uuid.vapi --pkg posix --pkg gee-0.8 --pkg gio-2.0 --pkg gobject-2.0 --pkg glib-2.0 --color=always --directory hlpced.p --basedir src/
-
-build hlpced.p/meson-generated_Daemon.c.o: c_COMPILER hlpced.p/Daemon.c
- DEPFILE = hlpced.p/meson-generated_Daemon.c.o.d
- DEPFILE_UNQUOTED = hlpced.p/meson-generated_Daemon.c.o.d
- ARGS = -Ihlpced.p -I. -Isrc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gee-0.8 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -w -g -pthread
-
-build hlpced.p/meson-generated_Networks_Advertisement.c.o: c_COMPILER hlpced.p/Networks/Advertisement.c
- DEPFILE = hlpced.p/meson-generated_Networks_Advertisement.c.o.d
- DEPFILE_UNQUOTED = hlpced.p/meson-generated_Networks_Advertisement.c.o.d
- ARGS = -Ihlpced.p -I. -Isrc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gee-0.8 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -w -g -pthread
-
-build hlpced.p/meson-generated_Networks_Network.c.o: c_COMPILER hlpced.p/Networks/Network.c
- DEPFILE = hlpced.p/meson-generated_Networks_Network.c.o.d
- DEPFILE_UNQUOTED = hlpced.p/meson-generated_Networks_Network.c.o.d
- ARGS = -Ihlpced.p -I. -Isrc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gee-0.8 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -w -g -pthread
-
-build hlpced.p/meson-generated_Networks_PeerInfo.c.o: c_COMPILER hlpced.p/Networks/PeerInfo.c
- DEPFILE = hlpced.p/meson-generated_Networks_PeerInfo.c.o.d
- DEPFILE_UNQUOTED = hlpced.p/meson-generated_Networks_PeerInfo.c.o.d
- ARGS = -Ihlpced.p -I. -Isrc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gee-0.8 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -w -g -pthread
-
-build hlpced.p/meson-generated_Networks_UnknownPeerInfo.c.o: c_COMPILER hlpced.p/Networks/UnknownPeerInfo.c
- DEPFILE = hlpced.p/meson-generated_Networks_UnknownPeerInfo.c.o.d
- DEPFILE_UNQUOTED = hlpced.p/meson-generated_Networks_UnknownPeerInfo.c.o.d
- ARGS = -Ihlpced.p -I. -Isrc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gee-0.8 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -w -g -pthread
-
-build hlpced.p/meson-generated_Networks_Receiption.c.o: c_COMPILER hlpced.p/Networks/Receiption.c
- DEPFILE = hlpced.p/meson-generated_Networks_Receiption.c.o.d
- DEPFILE_UNQUOTED = hlpced.p/meson-generated_Networks_Receiption.c.o.d
- ARGS = -Ihlpced.p -I. -Isrc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gee-0.8 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -w -g -pthread
-
-build hlpced.p/meson-generated_Networks_Simulation_NetSimPeerInfo.c.o: c_COMPILER hlpced.p/Networks/Simulation/NetSimPeerInfo.c
- DEPFILE = hlpced.p/meson-generated_Networks_Simulation_NetSimPeerInfo.c.o.d
- DEPFILE_UNQUOTED = hlpced.p/meson-generated_Networks_Simulation_NetSimPeerInfo.c.o.d
- ARGS = -Ihlpced.p -I. -Isrc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gee-0.8 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -w -g -pthread
-
-build hlpced.p/meson-generated_Networks_Simulation_Conduit.c.o: c_COMPILER hlpced.p/Networks/Simulation/Conduit.c
- DEPFILE = hlpced.p/meson-generated_Networks_Simulation_Conduit.c.o.d
- DEPFILE_UNQUOTED = hlpced.p/meson-generated_Networks_Simulation_Conduit.c.o.d
- ARGS = -Ihlpced.p -I. -Isrc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gee-0.8 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -w -g -pthread
-
-build hlpced.p/meson-generated_Networks_Simulation_NetSim.c.o: c_COMPILER hlpced.p/Networks/Simulation/NetSim.c
- DEPFILE = hlpced.p/meson-generated_Networks_Simulation_NetSim.c.o.d
- DEPFILE_UNQUOTED = hlpced.p/meson-generated_Networks_Simulation_NetSim.c.o.d
- ARGS = -Ihlpced.p -I. -Isrc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gee-0.8 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -w -g -pthread
-
-build hlpced.p/meson-generated_Networks_Simulation_Packet.c.o: c_COMPILER hlpced.p/Networks/Simulation/Packet.c
- DEPFILE = hlpced.p/meson-generated_Networks_Simulation_Packet.c.o.d
- DEPFILE_UNQUOTED = hlpced.p/meson-generated_Networks_Simulation_Packet.c.o.d
- ARGS = -Ihlpced.p -I. -Isrc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gee-0.8 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -w -g -pthread
-
-build hlpced.p/meson-generated_Protocols_MX2_InstanceReference.c.o: c_COMPILER hlpced.p/Protocols/MX2/InstanceReference.c
- DEPFILE = hlpced.p/meson-generated_Protocols_MX2_InstanceReference.c.o.d
- DEPFILE_UNQUOTED = hlpced.p/meson-generated_Protocols_MX2_InstanceReference.c.o.d
- ARGS = -Ihlpced.p -I. -Isrc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gee-0.8 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -w -g -pthread
-
-build hlpced.p/meson-generated_Util_QueueCommand.c.o: c_COMPILER hlpced.p/Util/QueueCommand.c
- DEPFILE = hlpced.p/meson-generated_Util_QueueCommand.c.o.d
- DEPFILE_UNQUOTED = hlpced.p/meson-generated_Util_QueueCommand.c.o.d
- ARGS = -Ihlpced.p -I. -Isrc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gee-0.8 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -w -g -pthread
-
-build hlpced: c_LINKER hlpced.p/meson-generated_Daemon.c.o hlpced.p/meson-generated_Networks_Advertisement.c.o hlpced.p/meson-generated_Networks_Network.c.o hlpced.p/meson-generated_Networks_PeerInfo.c.o hlpced.p/meson-generated_Networks_UnknownPeerInfo.c.o hlpced.p/meson-generated_Networks_Receiption.c.o hlpced.p/meson-generated_Networks_Simulation_NetSimPeerInfo.c.o hlpced.p/meson-generated_Networks_Simulation_Conduit.c.o hlpced.p/meson-generated_Networks_Simulation_NetSim.c.o hlpced.p/meson-generated_Networks_Simulation_Packet.c.o hlpced.p/meson-generated_Protocols_MX2_InstanceReference.c.o hlpced.p/meson-generated_Util_QueueCommand.c.o | /usr/lib64/libuuid.so.1.3.0 /usr/lib64/libglib-2.0.so /usr/lib64/libgobject-2.0.so /usr/lib64/libgio-2.0.so /usr/lib64/libgee-0.8.so
- LINK_ARGS = -Wl,--as-needed -Wl,--no-undefined -Wl,--start-group /usr/lib64/libglib-2.0.so /usr/lib64/libgobject-2.0.so /usr/lib64/libgio-2.0.so /usr/lib64/libgee-0.8.so -luuid -Wl,--end-group
-
-# Test rules
-
-build meson-test: CUSTOM_COMMAND all PHONY
- COMMAND = /usr/bin/meson test --no-rebuild --print-errorlogs
- DESC = Running$ all$ tests.
- pool = console
-
-build test: phony meson-test
-
-build meson-benchmark: CUSTOM_COMMAND all PHONY
- COMMAND = /usr/bin/meson test --benchmark --logbase benchmarklog --num-processes=1 --no-rebuild
- DESC = Running$ benchmark$ suite.
- pool = console
-
-build benchmark: phony meson-benchmark
-
-# Install rules
-
-build meson-install: CUSTOM_COMMAND PHONY | all
- DESC = Installing$ files.
- COMMAND = /usr/bin/meson install --no-rebuild
- pool = console
-
-build install: phony meson-install
-
-build meson-dist: CUSTOM_COMMAND PHONY
- DESC = Creating$ source$ packages
- COMMAND = /usr/bin/meson dist
- pool = console
-
-build dist: phony meson-dist
-
-# Suffix
-
-build meson-ctags: CUSTOM_COMMAND PHONY
- COMMAND = /usr/bin/meson --internal tags ctags /home/bbarrow/Projects/LibPeer-Vala/src
- pool = console
-
-build ctags: phony meson-ctags
-
-build meson-uninstall: CUSTOM_COMMAND PHONY
- COMMAND = /usr/bin/meson --internal uninstall
- pool = console
-
-build uninstall: phony meson-uninstall
-
-build all: phony hlpced
-
-build clean: phony meson-clean
-
-build meson-clean: CUSTOM_COMMAND PHONY
- COMMAND = /usr/bin/ninja -t clean
- description = Cleaning
-
-build build.ninja: REGENERATE_BUILD src/meson.build meson-private/coredata.dat
- pool = console
-
-build reconfigure: REGENERATE_BUILD PHONY
- pool = console
-
-build src/meson.build meson-private/coredata.dat: phony 
-
-default all
-

+ 0 - 80
compile_commands.json

@@ -1,80 +0,0 @@
-[
-  {
-    "directory": "/home/bbarrow/Projects/LibPeer-Vala",
-    "command": "valac -C --debug --debug --vapidir /home/bbarrow/Projects/LibPeer-Vala/src/vapi /home/bbarrow/Projects/LibPeer-Vala/src/vapi/uuid.vapi --pkg posix --pkg gee-0.8 --pkg gio-2.0 --pkg gobject-2.0 --pkg glib-2.0 --color=always --directory hlpced.p --basedir src/ src/Daemon.vala src/Networks/Advertisement.vala src/Networks/Network.vala src/Networks/PeerInfo.vala src/Networks/UnknownPeerInfo.vala src/Networks/Receiption.vala src/Networks/Simulation/NetSimPeerInfo.vala src/Networks/Simulation/Conduit.vala src/Networks/Simulation/NetSim.vala src/Networks/Simulation/Packet.vala src/Protocols/MX2/InstanceReference.vala src/Util/QueueCommand.vala",
-    "file": "src/Daemon.vala",
-    "output": "hlpced.p/Daemon.c"
-  },
-  {
-    "directory": "/home/bbarrow/Projects/LibPeer-Vala",
-    "command": "cc -Ihlpced.p -I. -Isrc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gee-0.8 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -w -g -pthread -MD -MQ hlpced.p/meson-generated_Daemon.c.o -MF hlpced.p/meson-generated_Daemon.c.o.d -o hlpced.p/meson-generated_Daemon.c.o -c hlpced.p/Daemon.c",
-    "file": "hlpced.p/Daemon.c",
-    "output": "hlpced.p/meson-generated_Daemon.c.o"
-  },
-  {
-    "directory": "/home/bbarrow/Projects/LibPeer-Vala",
-    "command": "cc -Ihlpced.p -I. -Isrc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gee-0.8 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -w -g -pthread -MD -MQ hlpced.p/meson-generated_Networks_Advertisement.c.o -MF hlpced.p/meson-generated_Networks_Advertisement.c.o.d -o hlpced.p/meson-generated_Networks_Advertisement.c.o -c hlpced.p/Networks/Advertisement.c",
-    "file": "hlpced.p/Networks/Advertisement.c",
-    "output": "hlpced.p/meson-generated_Networks_Advertisement.c.o"
-  },
-  {
-    "directory": "/home/bbarrow/Projects/LibPeer-Vala",
-    "command": "cc -Ihlpced.p -I. -Isrc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gee-0.8 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -w -g -pthread -MD -MQ hlpced.p/meson-generated_Networks_Network.c.o -MF hlpced.p/meson-generated_Networks_Network.c.o.d -o hlpced.p/meson-generated_Networks_Network.c.o -c hlpced.p/Networks/Network.c",
-    "file": "hlpced.p/Networks/Network.c",
-    "output": "hlpced.p/meson-generated_Networks_Network.c.o"
-  },
-  {
-    "directory": "/home/bbarrow/Projects/LibPeer-Vala",
-    "command": "cc -Ihlpced.p -I. -Isrc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gee-0.8 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -w -g -pthread -MD -MQ hlpced.p/meson-generated_Networks_PeerInfo.c.o -MF hlpced.p/meson-generated_Networks_PeerInfo.c.o.d -o hlpced.p/meson-generated_Networks_PeerInfo.c.o -c hlpced.p/Networks/PeerInfo.c",
-    "file": "hlpced.p/Networks/PeerInfo.c",
-    "output": "hlpced.p/meson-generated_Networks_PeerInfo.c.o"
-  },
-  {
-    "directory": "/home/bbarrow/Projects/LibPeer-Vala",
-    "command": "cc -Ihlpced.p -I. -Isrc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gee-0.8 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -w -g -pthread -MD -MQ hlpced.p/meson-generated_Networks_UnknownPeerInfo.c.o -MF hlpced.p/meson-generated_Networks_UnknownPeerInfo.c.o.d -o hlpced.p/meson-generated_Networks_UnknownPeerInfo.c.o -c hlpced.p/Networks/UnknownPeerInfo.c",
-    "file": "hlpced.p/Networks/UnknownPeerInfo.c",
-    "output": "hlpced.p/meson-generated_Networks_UnknownPeerInfo.c.o"
-  },
-  {
-    "directory": "/home/bbarrow/Projects/LibPeer-Vala",
-    "command": "cc -Ihlpced.p -I. -Isrc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gee-0.8 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -w -g -pthread -MD -MQ hlpced.p/meson-generated_Networks_Receiption.c.o -MF hlpced.p/meson-generated_Networks_Receiption.c.o.d -o hlpced.p/meson-generated_Networks_Receiption.c.o -c hlpced.p/Networks/Receiption.c",
-    "file": "hlpced.p/Networks/Receiption.c",
-    "output": "hlpced.p/meson-generated_Networks_Receiption.c.o"
-  },
-  {
-    "directory": "/home/bbarrow/Projects/LibPeer-Vala",
-    "command": "cc -Ihlpced.p -I. -Isrc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gee-0.8 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -w -g -pthread -MD -MQ hlpced.p/meson-generated_Networks_Simulation_NetSimPeerInfo.c.o -MF hlpced.p/meson-generated_Networks_Simulation_NetSimPeerInfo.c.o.d -o hlpced.p/meson-generated_Networks_Simulation_NetSimPeerInfo.c.o -c hlpced.p/Networks/Simulation/NetSimPeerInfo.c",
-    "file": "hlpced.p/Networks/Simulation/NetSimPeerInfo.c",
-    "output": "hlpced.p/meson-generated_Networks_Simulation_NetSimPeerInfo.c.o"
-  },
-  {
-    "directory": "/home/bbarrow/Projects/LibPeer-Vala",
-    "command": "cc -Ihlpced.p -I. -Isrc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gee-0.8 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -w -g -pthread -MD -MQ hlpced.p/meson-generated_Networks_Simulation_Conduit.c.o -MF hlpced.p/meson-generated_Networks_Simulation_Conduit.c.o.d -o hlpced.p/meson-generated_Networks_Simulation_Conduit.c.o -c hlpced.p/Networks/Simulation/Conduit.c",
-    "file": "hlpced.p/Networks/Simulation/Conduit.c",
-    "output": "hlpced.p/meson-generated_Networks_Simulation_Conduit.c.o"
-  },
-  {
-    "directory": "/home/bbarrow/Projects/LibPeer-Vala",
-    "command": "cc -Ihlpced.p -I. -Isrc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gee-0.8 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -w -g -pthread -MD -MQ hlpced.p/meson-generated_Networks_Simulation_NetSim.c.o -MF hlpced.p/meson-generated_Networks_Simulation_NetSim.c.o.d -o hlpced.p/meson-generated_Networks_Simulation_NetSim.c.o -c hlpced.p/Networks/Simulation/NetSim.c",
-    "file": "hlpced.p/Networks/Simulation/NetSim.c",
-    "output": "hlpced.p/meson-generated_Networks_Simulation_NetSim.c.o"
-  },
-  {
-    "directory": "/home/bbarrow/Projects/LibPeer-Vala",
-    "command": "cc -Ihlpced.p -I. -Isrc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gee-0.8 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -w -g -pthread -MD -MQ hlpced.p/meson-generated_Networks_Simulation_Packet.c.o -MF hlpced.p/meson-generated_Networks_Simulation_Packet.c.o.d -o hlpced.p/meson-generated_Networks_Simulation_Packet.c.o -c hlpced.p/Networks/Simulation/Packet.c",
-    "file": "hlpced.p/Networks/Simulation/Packet.c",
-    "output": "hlpced.p/meson-generated_Networks_Simulation_Packet.c.o"
-  },
-  {
-    "directory": "/home/bbarrow/Projects/LibPeer-Vala",
-    "command": "cc -Ihlpced.p -I. -Isrc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gee-0.8 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -w -g -pthread -MD -MQ hlpced.p/meson-generated_Protocols_MX2_InstanceReference.c.o -MF hlpced.p/meson-generated_Protocols_MX2_InstanceReference.c.o.d -o hlpced.p/meson-generated_Protocols_MX2_InstanceReference.c.o -c hlpced.p/Protocols/MX2/InstanceReference.c",
-    "file": "hlpced.p/Protocols/MX2/InstanceReference.c",
-    "output": "hlpced.p/meson-generated_Protocols_MX2_InstanceReference.c.o"
-  },
-  {
-    "directory": "/home/bbarrow/Projects/LibPeer-Vala",
-    "command": "cc -Ihlpced.p -I. -Isrc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gee-0.8 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -w -g -pthread -MD -MQ hlpced.p/meson-generated_Util_QueueCommand.c.o -MF hlpced.p/meson-generated_Util_QueueCommand.c.o.d -o hlpced.p/meson-generated_Util_QueueCommand.c.o -c hlpced.p/Util/QueueCommand.c",
-    "file": "hlpced.p/Util/QueueCommand.c",
-    "output": "hlpced.p/meson-generated_Util_QueueCommand.c.o"
-  }
-]

BIN
hlpced


BIN
libpeer.so


+ 371 - 0
peer.h

@@ -0,0 +1,371 @@
+/* peer.h generated by valac 0.48.13, the Vala compiler, do not modify */
+
+#ifndef __PEER_H__
+#define __PEER_H__
+
+#include <glib-object.h>
+#include <glib.h>
+#include <gio/gio.h>
+#include <stdlib.h>
+#include <string.h>
+
+G_BEGIN_DECLS
+
+#define LIB_PEER_NETWORKS_TYPE_ADVERTISEMENT (lib_peer_networks_advertisement_get_type ())
+#define LIB_PEER_NETWORKS_ADVERTISEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIB_PEER_NETWORKS_TYPE_ADVERTISEMENT, LibPeerNetworksAdvertisement))
+#define LIB_PEER_NETWORKS_ADVERTISEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIB_PEER_NETWORKS_TYPE_ADVERTISEMENT, LibPeerNetworksAdvertisementClass))
+#define LIB_PEER_NETWORKS_IS_ADVERTISEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIB_PEER_NETWORKS_TYPE_ADVERTISEMENT))
+#define LIB_PEER_NETWORKS_IS_ADVERTISEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIB_PEER_NETWORKS_TYPE_ADVERTISEMENT))
+#define LIB_PEER_NETWORKS_ADVERTISEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIB_PEER_NETWORKS_TYPE_ADVERTISEMENT, LibPeerNetworksAdvertisementClass))
+
+typedef struct _LibPeerNetworksAdvertisement LibPeerNetworksAdvertisement;
+typedef struct _LibPeerNetworksAdvertisementClass LibPeerNetworksAdvertisementClass;
+typedef struct _LibPeerNetworksAdvertisementPrivate LibPeerNetworksAdvertisementPrivate;
+
+#define LIB_PEER_PROTOCOLS_MX2_TYPE_INSTANCE_REFERENCE (lib_peer_protocols_mx2_instance_reference_get_type ())
+#define LIB_PEER_PROTOCOLS_MX2_INSTANCE_REFERENCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIB_PEER_PROTOCOLS_MX2_TYPE_INSTANCE_REFERENCE, LibPeerProtocolsMx2InstanceReference))
+#define LIB_PEER_PROTOCOLS_MX2_INSTANCE_REFERENCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIB_PEER_PROTOCOLS_MX2_TYPE_INSTANCE_REFERENCE, LibPeerProtocolsMx2InstanceReferenceClass))
+#define LIB_PEER_PROTOCOLS_MX2_IS_INSTANCE_REFERENCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIB_PEER_PROTOCOLS_MX2_TYPE_INSTANCE_REFERENCE))
+#define LIB_PEER_PROTOCOLS_MX2_IS_INSTANCE_REFERENCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIB_PEER_PROTOCOLS_MX2_TYPE_INSTANCE_REFERENCE))
+#define LIB_PEER_PROTOCOLS_MX2_INSTANCE_REFERENCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIB_PEER_PROTOCOLS_MX2_TYPE_INSTANCE_REFERENCE, LibPeerProtocolsMx2InstanceReferenceClass))
+
+typedef struct _LibPeerProtocolsMx2InstanceReference LibPeerProtocolsMx2InstanceReference;
+typedef struct _LibPeerProtocolsMx2InstanceReferenceClass LibPeerProtocolsMx2InstanceReferenceClass;
+
+#define LIB_PEER_NETWORKS_TYPE_PEER_INFO (lib_peer_networks_peer_info_get_type ())
+#define LIB_PEER_NETWORKS_PEER_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIB_PEER_NETWORKS_TYPE_PEER_INFO, LibPeerNetworksPeerInfo))
+#define LIB_PEER_NETWORKS_PEER_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIB_PEER_NETWORKS_TYPE_PEER_INFO, LibPeerNetworksPeerInfoClass))
+#define LIB_PEER_NETWORKS_IS_PEER_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIB_PEER_NETWORKS_TYPE_PEER_INFO))
+#define LIB_PEER_NETWORKS_IS_PEER_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIB_PEER_NETWORKS_TYPE_PEER_INFO))
+#define LIB_PEER_NETWORKS_PEER_INFO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIB_PEER_NETWORKS_TYPE_PEER_INFO, LibPeerNetworksPeerInfoClass))
+
+typedef struct _LibPeerNetworksPeerInfo LibPeerNetworksPeerInfo;
+typedef struct _LibPeerNetworksPeerInfoClass LibPeerNetworksPeerInfoClass;
+
+#define LIB_PEER_NETWORKS_TYPE_NETWORK (lib_peer_networks_network_get_type ())
+#define LIB_PEER_NETWORKS_NETWORK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIB_PEER_NETWORKS_TYPE_NETWORK, LibPeerNetworksNetwork))
+#define LIB_PEER_NETWORKS_NETWORK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIB_PEER_NETWORKS_TYPE_NETWORK, LibPeerNetworksNetworkClass))
+#define LIB_PEER_NETWORKS_IS_NETWORK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIB_PEER_NETWORKS_TYPE_NETWORK))
+#define LIB_PEER_NETWORKS_IS_NETWORK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIB_PEER_NETWORKS_TYPE_NETWORK))
+#define LIB_PEER_NETWORKS_NETWORK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIB_PEER_NETWORKS_TYPE_NETWORK, LibPeerNetworksNetworkClass))
+
+typedef struct _LibPeerNetworksNetwork LibPeerNetworksNetwork;
+typedef struct _LibPeerNetworksNetworkClass LibPeerNetworksNetworkClass;
+typedef struct _LibPeerNetworksNetworkPrivate LibPeerNetworksNetworkPrivate;
+typedef struct _LibPeerNetworksPeerInfoPrivate LibPeerNetworksPeerInfoPrivate;
+
+#define LIB_PEER_NETWORKS_TYPE_UNKNOWN_PEER_INFO (lib_peer_networks_unknown_peer_info_get_type ())
+#define LIB_PEER_NETWORKS_UNKNOWN_PEER_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIB_PEER_NETWORKS_TYPE_UNKNOWN_PEER_INFO, LibPeerNetworksUnknownPeerInfo))
+#define LIB_PEER_NETWORKS_UNKNOWN_PEER_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIB_PEER_NETWORKS_TYPE_UNKNOWN_PEER_INFO, LibPeerNetworksUnknownPeerInfoClass))
+#define LIB_PEER_NETWORKS_IS_UNKNOWN_PEER_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIB_PEER_NETWORKS_TYPE_UNKNOWN_PEER_INFO))
+#define LIB_PEER_NETWORKS_IS_UNKNOWN_PEER_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIB_PEER_NETWORKS_TYPE_UNKNOWN_PEER_INFO))
+#define LIB_PEER_NETWORKS_UNKNOWN_PEER_INFO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIB_PEER_NETWORKS_TYPE_UNKNOWN_PEER_INFO, LibPeerNetworksUnknownPeerInfoClass))
+
+typedef struct _LibPeerNetworksUnknownPeerInfo LibPeerNetworksUnknownPeerInfo;
+typedef struct _LibPeerNetworksUnknownPeerInfoClass LibPeerNetworksUnknownPeerInfoClass;
+typedef struct _LibPeerNetworksUnknownPeerInfoPrivate LibPeerNetworksUnknownPeerInfoPrivate;
+
+#define LIB_PEER_NETWORKS_TYPE_RECEIPTION (lib_peer_networks_receiption_get_type ())
+#define LIB_PEER_NETWORKS_RECEIPTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIB_PEER_NETWORKS_TYPE_RECEIPTION, LibPeerNetworksReceiption))
+#define LIB_PEER_NETWORKS_RECEIPTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIB_PEER_NETWORKS_TYPE_RECEIPTION, LibPeerNetworksReceiptionClass))
+#define LIB_PEER_NETWORKS_IS_RECEIPTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIB_PEER_NETWORKS_TYPE_RECEIPTION))
+#define LIB_PEER_NETWORKS_IS_RECEIPTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIB_PEER_NETWORKS_TYPE_RECEIPTION))
+#define LIB_PEER_NETWORKS_RECEIPTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIB_PEER_NETWORKS_TYPE_RECEIPTION, LibPeerNetworksReceiptionClass))
+
+typedef struct _LibPeerNetworksReceiption LibPeerNetworksReceiption;
+typedef struct _LibPeerNetworksReceiptionClass LibPeerNetworksReceiptionClass;
+typedef struct _LibPeerNetworksReceiptionPrivate LibPeerNetworksReceiptionPrivate;
+typedef struct _LibPeerProtocolsMx2InstanceReferencePrivate LibPeerProtocolsMx2InstanceReferencePrivate;
+typedef enum  {
+	LIB_PEER_UTIL_QUEUE_CONTROL_Payload,
+	LIB_PEER_UTIL_QUEUE_CONTROL_Stop
+} LibPeerUtilQueueControl;
+
+#define LIB_PEER_UTIL_TYPE_QUEUE_CONTROL (lib_peer_util_queue_control_get_type ())
+
+#define LIB_PEER_UTIL_TYPE_QUEUE_COMMAND (lib_peer_util_queue_command_get_type ())
+#define LIB_PEER_UTIL_QUEUE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIB_PEER_UTIL_TYPE_QUEUE_COMMAND, LibPeerUtilQueueCommand))
+#define LIB_PEER_UTIL_QUEUE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIB_PEER_UTIL_TYPE_QUEUE_COMMAND, LibPeerUtilQueueCommandClass))
+#define LIB_PEER_UTIL_IS_QUEUE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIB_PEER_UTIL_TYPE_QUEUE_COMMAND))
+#define LIB_PEER_UTIL_IS_QUEUE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIB_PEER_UTIL_TYPE_QUEUE_COMMAND))
+#define LIB_PEER_UTIL_QUEUE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIB_PEER_UTIL_TYPE_QUEUE_COMMAND, LibPeerUtilQueueCommandClass))
+
+typedef struct _LibPeerUtilQueueCommand LibPeerUtilQueueCommand;
+typedef struct _LibPeerUtilQueueCommandClass LibPeerUtilQueueCommandClass;
+typedef struct _LibPeerUtilQueueCommandPrivate LibPeerUtilQueueCommandPrivate;
+
+struct _LibPeerNetworksAdvertisement {
+	GTypeInstance parent_instance;
+	volatile int ref_count;
+	LibPeerNetworksAdvertisementPrivate * priv;
+	LibPeerProtocolsMx2InstanceReference* instance_reference;
+	LibPeerNetworksPeerInfo* peer_info;
+};
+
+struct _LibPeerNetworksAdvertisementClass {
+	GTypeClass parent_class;
+	void (*finalize) (LibPeerNetworksAdvertisement *self);
+};
+
+struct _LibPeerNetworksNetwork {
+	GTypeInstance parent_instance;
+	volatile int ref_count;
+	LibPeerNetworksNetworkPrivate * priv;
+};
+
+struct _LibPeerNetworksNetworkClass {
+	GTypeClass parent_class;
+	void (*finalize) (LibPeerNetworksNetwork *self);
+	GBytes* (*get_network_identifier) (LibPeerNetworksNetwork* self);
+	void (*bring_up) (LibPeerNetworksNetwork* self, GError** error);
+	void (*bring_down) (LibPeerNetworksNetwork* self, GError** error);
+	void (*advertise) (LibPeerNetworksNetwork* self, LibPeerProtocolsMx2InstanceReference* instance_reference, GError** error);
+	void (*send) (LibPeerNetworksNetwork* self, GBytes* bytes, LibPeerNetworksPeerInfo* peer_info, GError** error);
+};
+
+struct _LibPeerNetworksPeerInfo {
+	GTypeInstance parent_instance;
+	volatile int ref_count;
+	LibPeerNetworksPeerInfoPrivate * priv;
+};
+
+struct _LibPeerNetworksPeerInfoClass {
+	GTypeClass parent_class;
+	void (*finalize) (LibPeerNetworksPeerInfo *self);
+	void (*build) (LibPeerNetworksPeerInfo* self, guint8 data_length, GInputStream* stream, GError** error);
+	GBytes* (*get_network_identifier) (LibPeerNetworksPeerInfo* self);
+	GBytes* (*get_data_segment) (LibPeerNetworksPeerInfo* self);
+	gchar* (*to_string) (LibPeerNetworksPeerInfo* self);
+	gboolean (*equals) (LibPeerNetworksPeerInfo* self, LibPeerNetworksPeerInfo* other);
+	guint (*hash) (LibPeerNetworksPeerInfo* self);
+};
+
+struct _LibPeerNetworksUnknownPeerInfo {
+	LibPeerNetworksPeerInfo parent_instance;
+	LibPeerNetworksUnknownPeerInfoPrivate * priv;
+};
+
+struct _LibPeerNetworksUnknownPeerInfoClass {
+	LibPeerNetworksPeerInfoClass parent_class;
+};
+
+struct _LibPeerNetworksReceiption {
+	GTypeInstance parent_instance;
+	volatile int ref_count;
+	LibPeerNetworksReceiptionPrivate * priv;
+	GInputStream* stream;
+	LibPeerNetworksPeerInfo* peer_info;
+	LibPeerNetworksNetwork* network;
+};
+
+struct _LibPeerNetworksReceiptionClass {
+	GTypeClass parent_class;
+	void (*finalize) (LibPeerNetworksReceiption *self);
+};
+
+struct _LibPeerProtocolsMx2InstanceReference {
+	GTypeInstance parent_instance;
+	volatile int ref_count;
+	LibPeerProtocolsMx2InstanceReferencePrivate * priv;
+	guint8* verification_key;
+	gint verification_key_length1;
+	guint8* public_key;
+	gint public_key_length1;
+};
+
+struct _LibPeerProtocolsMx2InstanceReferenceClass {
+	GTypeClass parent_class;
+	void (*finalize) (LibPeerProtocolsMx2InstanceReference *self);
+};
+
+struct _LibPeerUtilQueueCommand {
+	GTypeInstance parent_instance;
+	volatile int ref_count;
+	LibPeerUtilQueueCommandPrivate * priv;
+	gpointer payload;
+	LibPeerUtilQueueControl command;
+};
+
+struct _LibPeerUtilQueueCommandClass {
+	GTypeClass parent_class;
+	void (*finalize) (LibPeerUtilQueueCommand *self);
+};
+
+gpointer lib_peer_networks_advertisement_ref (gpointer instance);
+void lib_peer_networks_advertisement_unref (gpointer instance);
+GParamSpec* lib_peer_networks_param_spec_advertisement (const gchar* name,
+                                                        const gchar* nick,
+                                                        const gchar* blurb,
+                                                        GType object_type,
+                                                        GParamFlags flags);
+void lib_peer_networks_value_set_advertisement (GValue* value,
+                                                gpointer v_object);
+void lib_peer_networks_value_take_advertisement (GValue* value,
+                                                 gpointer v_object);
+gpointer lib_peer_networks_value_get_advertisement (const GValue* value);
+GType lib_peer_networks_advertisement_get_type (void) G_GNUC_CONST;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (LibPeerNetworksAdvertisement, lib_peer_networks_advertisement_unref)
+gpointer lib_peer_protocols_mx2_instance_reference_ref (gpointer instance);
+void lib_peer_protocols_mx2_instance_reference_unref (gpointer instance);
+GParamSpec* lib_peer_protocols_mx2_param_spec_instance_reference (const gchar* name,
+                                                                  const gchar* nick,
+                                                                  const gchar* blurb,
+                                                                  GType object_type,
+                                                                  GParamFlags flags);
+void lib_peer_protocols_mx2_value_set_instance_reference (GValue* value,
+                                                          gpointer v_object);
+void lib_peer_protocols_mx2_value_take_instance_reference (GValue* value,
+                                                           gpointer v_object);
+gpointer lib_peer_protocols_mx2_value_get_instance_reference (const GValue* value);
+GType lib_peer_protocols_mx2_instance_reference_get_type (void) G_GNUC_CONST;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (LibPeerProtocolsMx2InstanceReference, lib_peer_protocols_mx2_instance_reference_unref)
+gpointer lib_peer_networks_peer_info_ref (gpointer instance);
+void lib_peer_networks_peer_info_unref (gpointer instance);
+GParamSpec* lib_peer_networks_param_spec_peer_info (const gchar* name,
+                                                    const gchar* nick,
+                                                    const gchar* blurb,
+                                                    GType object_type,
+                                                    GParamFlags flags);
+void lib_peer_networks_value_set_peer_info (GValue* value,
+                                            gpointer v_object);
+void lib_peer_networks_value_take_peer_info (GValue* value,
+                                             gpointer v_object);
+gpointer lib_peer_networks_value_get_peer_info (const GValue* value);
+GType lib_peer_networks_peer_info_get_type (void) G_GNUC_CONST;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (LibPeerNetworksPeerInfo, lib_peer_networks_peer_info_unref)
+LibPeerNetworksAdvertisement* lib_peer_networks_advertisement_new (LibPeerProtocolsMx2InstanceReference* instance_reference,
+                                                                   LibPeerNetworksPeerInfo* peer_info);
+LibPeerNetworksAdvertisement* lib_peer_networks_advertisement_construct (GType object_type,
+                                                                         LibPeerProtocolsMx2InstanceReference* instance_reference,
+                                                                         LibPeerNetworksPeerInfo* peer_info);
+gpointer lib_peer_networks_network_ref (gpointer instance);
+void lib_peer_networks_network_unref (gpointer instance);
+GParamSpec* lib_peer_networks_param_spec_network (const gchar* name,
+                                                  const gchar* nick,
+                                                  const gchar* blurb,
+                                                  GType object_type,
+                                                  GParamFlags flags);
+void lib_peer_networks_value_set_network (GValue* value,
+                                          gpointer v_object);
+void lib_peer_networks_value_take_network (GValue* value,
+                                           gpointer v_object);
+gpointer lib_peer_networks_value_get_network (const GValue* value);
+GType lib_peer_networks_network_get_type (void) G_GNUC_CONST;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (LibPeerNetworksNetwork, lib_peer_networks_network_unref)
+GBytes* lib_peer_networks_network_get_network_identifier (LibPeerNetworksNetwork* self);
+void lib_peer_networks_network_bring_up (LibPeerNetworksNetwork* self,
+                                         GError** error);
+void lib_peer_networks_network_bring_down (LibPeerNetworksNetwork* self,
+                                           GError** error);
+void lib_peer_networks_network_advertise (LibPeerNetworksNetwork* self,
+                                          LibPeerProtocolsMx2InstanceReference* instance_reference,
+                                          GError** error);
+void lib_peer_networks_network_send (LibPeerNetworksNetwork* self,
+                                     GBytes* bytes,
+                                     LibPeerNetworksPeerInfo* peer_info,
+                                     GError** error);
+LibPeerNetworksNetwork* lib_peer_networks_network_construct (GType object_type);
+void lib_peer_networks_peer_info_build (LibPeerNetworksPeerInfo* self,
+                                        guint8 data_length,
+                                        GInputStream* stream,
+                                        GError** error);
+GBytes* lib_peer_networks_peer_info_get_network_identifier (LibPeerNetworksPeerInfo* self);
+GBytes* lib_peer_networks_peer_info_get_data_segment (LibPeerNetworksPeerInfo* self);
+gchar* lib_peer_networks_peer_info_to_string (LibPeerNetworksPeerInfo* self);
+gboolean lib_peer_networks_peer_info_equals (LibPeerNetworksPeerInfo* self,
+                                             LibPeerNetworksPeerInfo* other);
+guint lib_peer_networks_peer_info_hash (LibPeerNetworksPeerInfo* self);
+void lib_peer_networks_peer_info_serialise (LibPeerNetworksPeerInfo* self,
+                                            GOutputStream* stream,
+                                            GError** error);
+LibPeerNetworksPeerInfo* lib_peer_networks_peer_info_deserialise (GInputStream* stream,
+                                                                  GError** error);
+LibPeerNetworksPeerInfo* lib_peer_networks_peer_info_construct (GType object_type);
+GType lib_peer_networks_unknown_peer_info_get_type (void) G_GNUC_CONST;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (LibPeerNetworksUnknownPeerInfo, lib_peer_networks_peer_info_unref)
+LibPeerNetworksUnknownPeerInfo* lib_peer_networks_unknown_peer_info_new (void);
+LibPeerNetworksUnknownPeerInfo* lib_peer_networks_unknown_peer_info_construct (GType object_type);
+gpointer lib_peer_networks_receiption_ref (gpointer instance);
+void lib_peer_networks_receiption_unref (gpointer instance);
+GParamSpec* lib_peer_networks_param_spec_receiption (const gchar* name,
+                                                     const gchar* nick,
+                                                     const gchar* blurb,
+                                                     GType object_type,
+                                                     GParamFlags flags);
+void lib_peer_networks_value_set_receiption (GValue* value,
+                                             gpointer v_object);
+void lib_peer_networks_value_take_receiption (GValue* value,
+                                              gpointer v_object);
+gpointer lib_peer_networks_value_get_receiption (const GValue* value);
+GType lib_peer_networks_receiption_get_type (void) G_GNUC_CONST;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (LibPeerNetworksReceiption, lib_peer_networks_receiption_unref)
+LibPeerNetworksReceiption* lib_peer_networks_receiption_new (GInputStream* stream,
+                                                             LibPeerNetworksPeerInfo* info,
+                                                             LibPeerNetworksNetwork* network);
+LibPeerNetworksReceiption* lib_peer_networks_receiption_construct (GType object_type,
+                                                                   GInputStream* stream,
+                                                                   LibPeerNetworksPeerInfo* info,
+                                                                   LibPeerNetworksNetwork* network);
+LibPeerProtocolsMx2InstanceReference* lib_peer_protocols_mx2_instance_reference_new (guint8* verification_key,
+                                                                                     gint verification_key_length1,
+                                                                                     guint8* public_key,
+                                                                                     gint public_key_length1);
+LibPeerProtocolsMx2InstanceReference* lib_peer_protocols_mx2_instance_reference_construct (GType object_type,
+                                                                                           guint8* verification_key,
+                                                                                           gint verification_key_length1,
+                                                                                           guint8* public_key,
+                                                                                           gint public_key_length1);
+LibPeerProtocolsMx2InstanceReference* lib_peer_protocols_mx2_instance_reference_new_from_stream (GInputStream* stream,
+                                                                                                 GError** error);
+LibPeerProtocolsMx2InstanceReference* lib_peer_protocols_mx2_instance_reference_construct_from_stream (GType object_type,
+                                                                                                       GInputStream* stream,
+                                                                                                       GError** error);
+void lib_peer_protocols_mx2_instance_reference_serialise (LibPeerProtocolsMx2InstanceReference* self,
+                                                          GOutputStream* stream,
+                                                          GError** error);
+GType lib_peer_util_queue_control_get_type (void) G_GNUC_CONST;
+gpointer lib_peer_util_queue_command_ref (gpointer instance);
+void lib_peer_util_queue_command_unref (gpointer instance);
+GParamSpec* lib_peer_util_param_spec_queue_command (const gchar* name,
+                                                    const gchar* nick,
+                                                    const gchar* blurb,
+                                                    GType object_type,
+                                                    GParamFlags flags);
+void lib_peer_util_value_set_queue_command (GValue* value,
+                                            gpointer v_object);
+void lib_peer_util_value_take_queue_command (GValue* value,
+                                             gpointer v_object);
+gpointer lib_peer_util_value_get_queue_command (const GValue* value);
+GType lib_peer_util_queue_command_get_type (void) G_GNUC_CONST;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (LibPeerUtilQueueCommand, lib_peer_util_queue_command_unref)
+LibPeerUtilQueueCommand* lib_peer_util_queue_command_new (GType t_type,
+                                                          GBoxedCopyFunc t_dup_func,
+                                                          GDestroyNotify t_destroy_func,
+                                                          LibPeerUtilQueueControl command,
+                                                          gconstpointer payload);
+LibPeerUtilQueueCommand* lib_peer_util_queue_command_construct (GType object_type,
+                                                                GType t_type,
+                                                                GBoxedCopyFunc t_dup_func,
+                                                                GDestroyNotify t_destroy_func,
+                                                                LibPeerUtilQueueControl command,
+                                                                gconstpointer payload);
+LibPeerUtilQueueCommand* lib_peer_util_queue_command_new_stop (GType t_type,
+                                                               GBoxedCopyFunc t_dup_func,
+                                                               GDestroyNotify t_destroy_func);
+LibPeerUtilQueueCommand* lib_peer_util_queue_command_construct_stop (GType object_type,
+                                                                     GType t_type,
+                                                                     GBoxedCopyFunc t_dup_func,
+                                                                     GDestroyNotify t_destroy_func);
+LibPeerUtilQueueCommand* lib_peer_util_queue_command_new_with_payload (GType t_type,
+                                                                       GBoxedCopyFunc t_dup_func,
+                                                                       GDestroyNotify t_destroy_func,
+                                                                       gconstpointer payload);
+LibPeerUtilQueueCommand* lib_peer_util_queue_command_construct_with_payload (GType object_type,
+                                                                             GType t_type,
+                                                                             GBoxedCopyFunc t_dup_func,
+                                                                             GDestroyNotify t_destroy_func,
+                                                                             gconstpointer payload);
+
+G_END_DECLS
+
+#endif

+ 81 - 0
peer.vapi

@@ -0,0 +1,81 @@
+/* peer.vapi generated by (null), do not modify. */
+
+namespace LibPeer {
+	namespace Networks {
+		namespace Simulation {
+		}
+		[CCode (cheader_filename = "Conduit.h")]
+		public class Advertisement {
+			public LibPeer.Protocols.Mx2.InstanceReference instance_reference;
+			public LibPeer.Networks.PeerInfo peer_info;
+			public Advertisement (LibPeer.Protocols.Mx2.InstanceReference instance_reference, LibPeer.Networks.PeerInfo peer_info);
+		}
+		[CCode (cheader_filename = "Conduit.h")]
+		public abstract class Network {
+			protected Network ();
+			public abstract void advertise (LibPeer.Protocols.Mx2.InstanceReference instance_reference) throws GLib.IOError, GLib.Error;
+			public abstract void bring_down () throws GLib.IOError, GLib.Error;
+			public abstract void bring_up () throws GLib.IOError, GLib.Error;
+			public abstract GLib.Bytes get_network_identifier ();
+			public abstract void send (GLib.Bytes bytes, LibPeer.Networks.PeerInfo peer_info) throws GLib.IOError, GLib.Error;
+			public signal void incoming_advertisment (LibPeer.Networks.Advertisement advertisement);
+			public signal void incoming_receiption (LibPeer.Networks.Receiption receiption);
+		}
+		[CCode (cheader_filename = "Conduit.h")]
+		public abstract class PeerInfo {
+			protected PeerInfo ();
+			protected abstract void build (uint8 data_length, GLib.InputStream stream) throws GLib.IOError, GLib.Error;
+			public static LibPeer.Networks.PeerInfo deserialise (GLib.InputStream stream) throws GLib.IOError, GLib.Error;
+			public abstract bool equals (LibPeer.Networks.PeerInfo other);
+			protected abstract GLib.Bytes get_data_segment ();
+			public abstract GLib.Bytes get_network_identifier ();
+			public abstract uint hash ();
+			public void serialise (GLib.OutputStream stream) throws GLib.IOError, GLib.Error;
+			public abstract string to_string ();
+		}
+		[CCode (cheader_filename = "Conduit.h")]
+		public class Receiption {
+			public LibPeer.Networks.Network network;
+			public LibPeer.Networks.PeerInfo peer_info;
+			public GLib.InputStream stream;
+			public Receiption (GLib.InputStream stream, LibPeer.Networks.PeerInfo info, LibPeer.Networks.Network network);
+		}
+		[CCode (cheader_filename = "Conduit.h")]
+		public class UnknownPeerInfo : LibPeer.Networks.PeerInfo {
+			public UnknownPeerInfo ();
+			protected override void build (uint8 data_length, GLib.InputStream stream) throws GLib.Error;
+			public override bool equals (LibPeer.Networks.PeerInfo other);
+			protected override GLib.Bytes get_data_segment ();
+			public override GLib.Bytes get_network_identifier ();
+			public override uint hash ();
+			public override string to_string ();
+		}
+	}
+	namespace Protocols {
+		namespace Mx2 {
+			[CCode (cheader_filename = "Conduit.h")]
+			public class InstanceReference {
+				protected uint8[] public_key;
+				protected uint8[] verification_key;
+				public InstanceReference (uint8[] verification_key, uint8[] public_key);
+				public InstanceReference.from_stream (GLib.InputStream stream) throws GLib.IOError;
+				public void serialise (GLib.OutputStream stream) throws GLib.IOError;
+			}
+		}
+	}
+	namespace Util {
+		[CCode (cheader_filename = "Conduit.h")]
+		public class QueueCommand<T> {
+			public LibPeer.Util.QueueControl command;
+			public T payload;
+			public QueueCommand (LibPeer.Util.QueueControl command, T payload);
+			public QueueCommand.stop ();
+			public QueueCommand.with_payload (T payload);
+		}
+		[CCode (cheader_filename = "Conduit.h")]
+		public enum QueueControl {
+			Payload,
+			Stop
+		}
+	}
+}

+ 0 - 42
src/Daemon.vala

@@ -1,42 +0,0 @@
-using Gee;
-
-namespace Hlpce {
-
-    class Daemon : Object {
-
-        public static int main(string[] args) {
-            stderr.printf("HLPCE: High Level Peer Communication Engine (LibPeer-Vala) v0.1\n");
-
-            uint8[] data = {0,1,2,3};
-            var test = new MemoryInputStream.from_data(data);
-            var reader1 = new DataInputStream(test);
-            stderr.printf(@"$(reader1.read_byte()) and then $(reader1.read_byte())\n");
-
-            var reader2 = new DataInputStream(test);
-            stderr.printf(@"$(reader1.read_byte()) and then $(reader1.read_byte())\n");
-
-            uint8[] arr1 = {2, 4, 6, 8};
-            uint8[] arr2 = {1, 3, 5, 7};
-            uint8[] arr3 = {2, 4, 6, 8};
-            uint8[] arr4 = {1, 3, 5, 7};
-
-            var b1 = new Bytes(arr1);
-            var b2 = new Bytes(arr2);
-            var b3 = new Bytes(arr3);
-            var b4 = new Bytes(arr4);
-            var b5 = new Bytes(arr1);
-            var b6 = new Bytes(arr2);
-            var b7 = new Bytes(arr3);
-            var b8 = new Bytes(arr4);
-
-            var map = new Gee.HashMap<Bytes, string>((a) => a.hash(), (a, b) => a.compare(b) == 0);
-            map.set(b1, "Even");
-            map.set(b2, "Odd");
-
-            stderr.printf(@"$(map.get(b3)) $(map.get(b4))\n");
-
-            return 0;
-        }
-    }
-
-}

+ 0 - 0
src/Networks/Advertisement.vala → src/lib/Networks/Advertisement.vala


+ 0 - 0
src/Networks/Network.vala → src/lib/Networks/Network.vala


+ 0 - 0
src/Networks/PeerInfo.vala → src/lib/Networks/PeerInfo.vala


+ 0 - 0
src/Networks/Receiption.vala → src/lib/Networks/Receiption.vala


+ 1 - 1
src/Networks/Simulation/Conduit.vala → src/lib/Networks/Simulation/Conduit.vala

@@ -4,7 +4,7 @@ using Gee;
 
 namespace LibPeer.Networks.Simulation {
 
-    class Conduit {
+    public class Conduit {
 
         private HashMap<Bytes, NetSim> interfaces = new HashMap<Bytes, NetSim>((a) => a.hash(), (a, b) => a.compare(b) == 0);
 

+ 1 - 1
src/Networks/Simulation/NetSim.vala → src/lib/Networks/Simulation/NetSim.vala

@@ -4,7 +4,7 @@ using LibPeer.Util;
 
 namespace LibPeer.Networks.Simulation {
 
-    class NetSim : Network {
+    public class NetSim : Network {
 
         private Conduit conduit;
         private int count;

+ 1 - 1
src/Networks/Simulation/NetSimPeerInfo.vala → src/lib/Networks/Simulation/NetSimPeerInfo.vala

@@ -3,7 +3,7 @@ using LibPeer.Networks;
 
 namespace LibPeer.Networks.Simulation {
 
-    class NetSimPeerInfo : PeerInfo {
+    public class NetSimPeerInfo : PeerInfo {
 
         private const int IDENTIFIER_SIZE = 16;
 

+ 1 - 1
src/Networks/Simulation/Packet.vala → src/lib/Networks/Simulation/Packet.vala

@@ -1,7 +1,7 @@
 
 namespace LibPeer.Networks.Simulation {
 
-    class Packet {
+    public class Packet {
         public Bytes data;
 
         public NetSimPeerInfo peer_info;

+ 0 - 0
src/Networks/UnknownPeerInfo.vala → src/lib/Networks/UnknownPeerInfo.vala


+ 0 - 0
src/Protocols/MX2/InstanceReference.vala → src/lib/Protocols/MX2/InstanceReference.vala


+ 0 - 0
src/Stream/Stream.vala → src/lib/Stream/Stream.vala


+ 0 - 0
src/Util/QueueCommand.vala → src/lib/Util/QueueCommand.vala


+ 28 - 0
src/lib/meson.build

@@ -0,0 +1,28 @@
+vapi_dir = meson.current_source_dir() / 'vapi'
+
+add_project_arguments(['--vapidir', vapi_dir], language: 'vala')
+
+dependencies = [
+    dependency('glib-2.0'),
+    dependency('gobject-2.0'),
+    dependency('gio-2.0'),
+    dependency('gee-0.8'),
+    meson.get_compiler('vala').find_library('posix'),
+    meson.get_compiler('vala').find_library('uuid', dirs: vapi_dir),
+    meson.get_compiler('c').find_library('uuid')
+]
+
+sources = files('Networks/Advertisement.vala')
+sources += files('Networks/Network.vala')
+sources += files('Networks/PeerInfo.vala')
+sources += files('Networks/UnknownPeerInfo.vala')
+sources += files('Networks/Receiption.vala')
+sources += files('Networks/Simulation/NetSimPeerInfo.vala')
+sources += files('Networks/Simulation/Conduit.vala')
+sources += files('Networks/Simulation/NetSim.vala')
+sources += files('Networks/Simulation/Packet.vala')
+sources += files('Protocols/MX2/InstanceReference.vala')
+sources += files('Util/QueueCommand.vala')
+
+libpeer = library('peer', sources, dependencies: dependencies)
+libpeer_dep = declare_dependency(link_with: libpeer, include_directories: include_directories('.'))

+ 0 - 0
src/vapi/uuid.deps → src/lib/vapi/uuid.deps


+ 0 - 0
src/vapi/uuid.vapi → src/lib/vapi/uuid.vapi


+ 3 - 29
src/meson.build

@@ -1,30 +1,4 @@
-project('High Level Peer Communication Engine Daemon', 'vala', 'c')
+project('LibPeer', 'vala', 'c')
 
-vapi_dir = meson.current_source_dir() / 'vapi'
-
-add_project_arguments(['--vapidir', vapi_dir], language: 'vala')
-
-dependencies = [
-    dependency('glib-2.0'),
-    dependency('gobject-2.0'),
-    dependency('gio-2.0'),
-    dependency('gee-0.8'),
-    meson.get_compiler('vala').find_library('posix'),
-    meson.get_compiler('vala').find_library('uuid', dirs: vapi_dir),
-    meson.get_compiler('c').find_library('uuid')
-]
-
-sources = files('Daemon.vala')
-sources += files('Networks/Advertisement.vala')
-sources += files('Networks/Network.vala')
-sources += files('Networks/PeerInfo.vala')
-sources += files('Networks/UnknownPeerInfo.vala')
-sources += files('Networks/Receiption.vala')
-sources += files('Networks/Simulation/NetSimPeerInfo.vala')
-sources += files('Networks/Simulation/Conduit.vala')
-sources += files('Networks/Simulation/NetSim.vala')
-sources += files('Networks/Simulation/Packet.vala')
-sources += files('Protocols/MX2/InstanceReference.vala')
-sources += files('Util/QueueCommand.vala')
-
-executable('hlpced', sources, dependencies: dependencies)
+subdir('lib')
+subdir('toys')

+ 16 - 0
src/toys/exponential_pinger/Main.vala

@@ -0,0 +1,16 @@
+using LibPeer.Networks.Simulation;
+
+namespace ExponentialPinger {
+
+    class Main : Object {
+
+        public static int main(string[] args) {
+            stderr.printf("Exponential Pinger\n");
+
+            Conduit conduit = new Conduit();
+
+            return 0;
+        }
+    }
+
+}

+ 11 - 0
src/toys/exponential_pinger/Pinger.vala

@@ -0,0 +1,11 @@
+using LibPeer.Networks.Simulation;
+
+namespace ExponentialPinger {
+
+    class Pinger : Object {
+
+        
+
+    }
+
+}

+ 11 - 0
src/toys/exponential_pinger/meson.build

@@ -0,0 +1,11 @@
+dependencies = [
+    dependency('glib-2.0'),
+    dependency('gobject-2.0'),
+    dependency('gio-2.0'),
+    libpeer_dep
+]
+
+sources = files('Main.vala')
+sources += files('Pinger.vala')
+
+executable('exponential_pinger', sources, dependencies: dependencies)

+ 2 - 0
src/toys/meson.build

@@ -0,0 +1,2 @@
+
+subdir('exponential_pinger')