diff --git a/.gitignore b/.gitignore
index 259148f..f3e8296 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,7 @@
+# Ignore Visual Studio temporary files, build results, and
+# files generated by popular Visual Studio add-ons.
+.vs/
+
# Prerequisites
*.d
diff --git a/.vs/Master_Slaves_Management/v16/.suo b/.vs/Master_Slaves_Management/v16/.suo
new file mode 100644
index 0000000..efd7a41
Binary files /dev/null and b/.vs/Master_Slaves_Management/v16/.suo differ
diff --git a/.vs/Master_Slaves_Management/v16/Browse.VC.db b/.vs/Master_Slaves_Management/v16/Browse.VC.db
new file mode 100644
index 0000000..190a1ac
Binary files /dev/null and b/.vs/Master_Slaves_Management/v16/Browse.VC.db differ
diff --git a/.vs/Master_Slaves_Management/v16/ipch/AutoPCH/837ee7b03459ac96/MASTER_SLAVES_MANAGEMENT.ipch b/.vs/Master_Slaves_Management/v16/ipch/AutoPCH/837ee7b03459ac96/MASTER_SLAVES_MANAGEMENT.ipch
new file mode 100644
index 0000000..0beae1f
Binary files /dev/null and b/.vs/Master_Slaves_Management/v16/ipch/AutoPCH/837ee7b03459ac96/MASTER_SLAVES_MANAGEMENT.ipch differ
diff --git a/Master_Slave_Management/Master_Slave_Management.sln b/Master_Slave_Management/Master_Slave_Management.sln
new file mode 100644
index 0000000..13eb169
--- /dev/null
+++ b/Master_Slave_Management/Master_Slave_Management.sln
@@ -0,0 +1,33 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.5.33530.505
+MinimumVisualStudioVersion = 10.0.40219.1
+
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Master_Slave_Management", "Master_Slave_Management\Master_Slave_Management.vcxproj", "{F9EDCB29-48B8-43A3-A1E9-803A0A1C9B61}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+
+ {F9EDCB29-48B8-43A3-A1E9-803A0A1C9B61}.Debug|x64.ActiveCfg = Debug|x64
+ {F9EDCB29-48B8-43A3-A1E9-803A0A1C9B61}.Debug|x64.Build.0 = Debug|x64
+ {F9EDCB29-48B8-43A3-A1E9-803A0A1C9B61}.Debug|x86.ActiveCfg = Debug|Win32
+ {F9EDCB29-48B8-43A3-A1E9-803A0A1C9B61}.Debug|x86.Build.0 = Debug|Win32
+ {F9EDCB29-48B8-43A3-A1E9-803A0A1C9B61}.Release|x64.ActiveCfg = Release|x64
+ {F9EDCB29-48B8-43A3-A1E9-803A0A1C9B61}.Release|x64.Build.0 = Release|x64
+ {F9EDCB29-48B8-43A3-A1E9-803A0A1C9B61}.Release|x86.ActiveCfg = Release|Win32
+ {F9EDCB29-48B8-43A3-A1E9-803A0A1C9B61}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+
+ SolutionGuid = {79CD0622-68CD-43C0-AEB3-EAD9469AEB40}
+ EndGlobalSection
+EndGlobal
diff --git a/Master_Slave_Management/Master_Slave_Management/ImagefromSlave.h b/Master_Slave_Management/Master_Slave_Management/ImagefromSlave.h
new file mode 100644
index 0000000..20489fb
--- /dev/null
+++ b/Master_Slave_Management/Master_Slave_Management/ImagefromSlave.h
@@ -0,0 +1,49 @@
+#pragma once
+#include "PointForSlave.h"
+class ImageFromSlave
+{
+private:
+ int id;
+ static int counterForImage;
+ PointForSlave TL;
+ PointForSlave BR;
+ int slaveId;
+ int ReqId;
+public:
+ ImageFromSlave() {};
+ ImageFromSlave(float top, float left, float bottom, float right, int slavenum, int
+ reqId) :
+ BR(bottom, right),
+ TL(top, left),
+ slaveId(slavenum),
+ ReqId(reqId),
+ id(counterForImage++) {};
+ PointForSlave GetBR()
+ {
+ return this->BR;
+ }
+ PointForSlave GetTL()
+ {
+ return this->TL;
+ }
+ int GetSlaveId()
+ {
+ return this->slaveId;
+ };
+ int GetReqId()
+ {
+ return this->ReqId;
+ }
+ int GetId()
+ {
+ return this->id;
+ }
+ int getCounter()
+ {
+ return this->counterForImage;
+ }
+ void setSlaveId(int id)
+ {
+ this->slaveId = id;
+ }
+};
\ No newline at end of file
diff --git a/Master_Slave_Management/Master_Slave_Management/Master_Slave_Management.vcxproj b/Master_Slave_Management/Master_Slave_Management/Master_Slave_Management.vcxproj
new file mode 100644
index 0000000..8cd3417
--- /dev/null
+++ b/Master_Slave_Management/Master_Slave_Management/Master_Slave_Management.vcxproj
@@ -0,0 +1,155 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 16.0
+ Win32Proj
+ {1f2ffa9e-bc10-4430-866d-053f6befc127}
+ MasterSlaveManagement
+ 10.0
+
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Level3
+ true
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+ true
+ true
+
+
+
+
+ Level3
+ true
+ _DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Master_Slave_Management/Master_Slave_Management/Master_Slave_Management.vcxproj.filters b/Master_Slave_Management/Master_Slave_Management/Master_Slave_Management.vcxproj.filters
new file mode 100644
index 0000000..99cca43
--- /dev/null
+++ b/Master_Slave_Management/Master_Slave_Management/Master_Slave_Management.vcxproj.filters
@@ -0,0 +1,126 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+ {0f069b12-04ed-4fda-9180-12e9c5d92963}
+
+
+ {e64bbce5-d410-4ae4-83f3-1e09d0e12667}
+
+
+ {4e84754e-1d3f-4ac6-abda-eea7869ca299}
+
+
+ {c109b872-7eff-4593-a59f-9798dd93d3f8}
+
+
+ {c3b09243-06fc-440c-b466-29368c97dd74}
+
+
+ {3dee35dd-7fae-49ff-9334-e6c744a244ef}
+
+
+ {d17b479f-98b5-4202-82b1-c5777111305c}
+
+
+ {df662f50-dab6-46c6-971a-2d82042b7f8c}
+
+
+ {7a384252-d52c-4d37-bd07-c67bdb0ba65c}
+
+
+ {e9cc0b0a-9442-46a4-b673-7a0d2e9b75b5}
+
+
+ {70108ba4-9051-4453-a4eb-b8320f602998}
+
+
+ {80ce57cc-afd4-4776-9737-7473a000bbb3}
+
+
+ {dae342f1-4fc8-47dd-96f6-25d514359bc0}
+
+
+ {ca5b45a1-4694-4487-95f8-5aea5767da1b}
+
+
+ {6dbbf2c8-0236-481f-9dcc-1a5b21127e57}
+
+
+ {b7275b32-0b39-4740-8f66-5b62c0a90b23}
+
+
+
+
+ Header Files\MessageTemplate
+
+
+ Header Files\MessageTemplate
+
+
+ Header Files\MessageTemplate
+
+
+ Header Files\MessageTemplate
+
+
+ Header Files\MessageTemplate
+
+
+ Header Files\MessageTemplate
+
+
+ Header Files\MessageTemplate
+
+
+ Header Files\MessageTemplate
+
+
+ Header Files\MessageTemplate
+
+
+ Header Files\MessageTemplate
+
+
+ Header Files\MessageTemplate
+
+
+ Header Files\MessageTemplate
+
+
+ Header Files\Scheduler
+
+
+ Header Files\Scheduler
+
+
+
+
+ Source Files\MessageTemplate
+
+
+ Source Files\MessageTemplate
+
+
+ Source Files\MessageTemplate
+
+
+ Source Files\Scheduler
+
+
+ Source Files\Scheduler
+
+
+
\ No newline at end of file
diff --git a/Master_Slave_Management/Master_Slave_Management/Master_Slave_Management.vcxproj.user b/Master_Slave_Management/Master_Slave_Management/Master_Slave_Management.vcxproj.user
new file mode 100644
index 0000000..88a5509
--- /dev/null
+++ b/Master_Slave_Management/Master_Slave_Management/Master_Slave_Management.vcxproj.user
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/Master_Slave_Management/Master_Slave_Management/Message.cpp b/Master_Slave_Management/Master_Slave_Management/Message.cpp
new file mode 100644
index 0000000..f71a84e
--- /dev/null
+++ b/Master_Slave_Management/Master_Slave_Management/Message.cpp
@@ -0,0 +1,3 @@
+#pragma once
+#include "Message.h"
+int Message::counter = 0;
\ No newline at end of file
diff --git a/Master_Slave_Management/Master_Slave_Management/Message.h b/Master_Slave_Management/Master_Slave_Management/Message.h
new file mode 100644
index 0000000..b55c67e
--- /dev/null
+++ b/Master_Slave_Management/Master_Slave_Management/Message.h
@@ -0,0 +1,39 @@
+#pragma once
+#include "MessageParams.h"
+#include "Priority.h"
+struct Message
+{
+ int messageId;
+ int reqId;
+ MessageType messageType;
+ int droneId;
+ MessageParams* messageParams;
+ Priority priority;
+
+ Message() :messageId(counter++), messageParams(nullptr) {}
+
+ // Copy constructor
+ /*Message(const Message& message)
+ : messageId(counter++),reqId(message.reqId),messageType(message.messageType),droneId(message.droneId),
+ messageParams(message.messageParams),priority(message.priority)
+ {}*/
+
+ Message& operator=(const Message& other)
+ {
+ if (this != &other)
+ {
+ // Note: messageId should remain unique, so we do not copy it.
+ reqId = other.reqId;
+ messageType = other.messageType;
+ droneId = other.droneId;
+ messageParams = other.messageParams; // Assuming proper copy behavior in MessageParams
+ priority = other.priority;
+ }
+ return *this;
+ }
+
+private:
+ int static counter;
+
+};
+
diff --git a/Master_Slave_Management/Master_Slave_Management/MessageParams.cpp b/Master_Slave_Management/Master_Slave_Management/MessageParams.cpp
new file mode 100644
index 0000000..cd99bb7
--- /dev/null
+++ b/Master_Slave_Management/Master_Slave_Management/MessageParams.cpp
@@ -0,0 +1 @@
+#include "MessageParams.h"
diff --git a/Master_Slave_Management/Master_Slave_Management/MessageParams.h b/Master_Slave_Management/Master_Slave_Management/MessageParams.h
new file mode 100644
index 0000000..faaa052
--- /dev/null
+++ b/Master_Slave_Management/Master_Slave_Management/MessageParams.h
@@ -0,0 +1,234 @@
+#pragma once
+#include
+#include "Priority.h"
+#include "event.h"
+#include "MessageType.h"
+//#include "RealImage.h"
+#include "PointForSlave.h"
+#include "ImagefromSlave.h"
+#include "mapRequest.h"
+using namespace std;
+struct M_GOT_REQ_PARAMS {
+ mapRequest mp;
+ M_GOT_REQ_PARAMS() {
+ mp = mapRequest();
+ }
+ //MESSAGE_TYPE:M_GOT_REQ
+ //handling function: SlavesManager::getARequestForAMap
+};
+struct MTS_ASK_FOR_IMAGES_PROP_PARAMS {
+ PointForSlave pfs;
+ int slaveId;
+ int reqId;
+ MTS_ASK_FOR_IMAGES_PROP_PARAMS() {
+ pfs = PointForSlave();
+ }
+ //MESSAGE_TYPE:MTS_ASK_FOR_IMAGES
+ //handling function: SlavesManager::sendRequestForImageInSpecificPoint
+};
+struct STM_SEND_IMAGES_PROP_PARAMS
+{
+ bool HaveOrNot_Image;
+ vector imgRes = {};
+ STM_SEND_IMAGES_PROP_PARAMS() {
+ imgRes = vector();
+ }
+ //MESSAGE_TYPE:STM_SEND_IMAGE_PROP
+ //handling function: Slave::GetAStructForImageInPoint
+};
+struct MTS_GIVE_THE_CHOSEN_IMAGE_PARAMS {
+ ImageFromSlave img;
+ MTS_GIVE_THE_CHOSEN_IMAGE_PARAMS() {
+ img = ImageFromSlave();
+ }
+ //MESSAGE_TYPE:MTS_GIVE_THE_CHOSEN_IMAGE
+ //handling function:sendRequestToSlaveToGetRealImage
+};
+struct STM_RESPONSE_TO_THE_CHOSEN_IMAGE_PARAMS {
+ //RealImage realImg;
+ STM_RESPONSE_TO_THE_CHOSEN_IMAGE_PARAMS() {
+ //realImg=RealImage();
+ }
+ //MESSAGE_TYPE:STM_RESPONSE_TO_THE_CHOSEN_IMAGE
+ //handling function:return_of_an_image_by_its_properties
+};
+struct MTS_REQ_FOR_PHOTO_PARAMS {
+ PointForSlave pfs;
+ MTS_REQ_FOR_PHOTO_PARAMS() {
+ pfs = PointForSlave();
+ }
+};
+struct MTIP_REQ_FOR_REAL_MAP_PARAMS {
+ //vector realImages;
+ MTIP_REQ_FOR_REAL_MAP_PARAMS() {
+ //realImages=vector();
+ }
+};
+struct MTM_NO_COMMUNICATION_AT_ALL_PARAMS
+{
+ MTM_NO_COMMUNICATION_AT_ALL_PARAMS(){}
+ //MESSAGE_TYPE:MTM_NO_COMMUNICATION_AT_ALL,-MessageOfNoCommuincationBetwwenAllSlaves
+ //handling function:__________________
+};
+struct MTM_SLAVES_NOT_COMMUNICATE_PARAMS
+{
+ vector SlavesWithNoCommunication;
+ MTM_SLAVES_NOT_COMMUNICATE_PARAMS() {
+ SlavesWithNoCommunication = vector();
+ }
+ //MESSAGE_TYPE:MTM_SLAVES_NOT_COMMUNICATE,-GetTheSlavesThatDidntCommunicate
+ //handling function:SlavesManager::getTheSlavesThatDidntCommunicate
+};
+struct MTS_SEND_LOCATION_PARAMS {
+ int second;
+ MTS_SEND_LOCATION_PARAMS() {}
+};
+struct MTS_MOVE_OUT_OF_THIS_EREA_PARAMS {
+ MTS_MOVE_OUT_OF_THIS_EREA_PARAMS() {}
+};
+struct MTS_STOP_SEND_LOCATION_PARAMS {
+ MTS_STOP_SEND_LOCATION_PARAMS() {}
+};
+struct MTS_STOP_AT_PLACE_PARAMS {
+ MTS_STOP_AT_PLACE_PARAMS() {}
+};
+struct MTS_BACK_TO_STARTING_POINT_PARAMS {
+ MTS_BACK_TO_STARTING_POINT_PARAMS() {}
+};
+struct STM_LOCATION_PARAMS {
+ float x; float y;
+ STM_LOCATION_PARAMS() {}
+};
+struct MTS_SEND_EVENTS_PARAMS {
+ tm startTime;
+ tm endTime;
+ size_t maxSize;
+ MTS_SEND_EVENTS_PARAMS() {
+ startTime = tm();
+ endTime = tm();
+ maxSize = size_t();
+ }
+};
+struct STM_GET_EVENTS_PARAMS {
+ vector events;
+ STM_GET_EVENTS_PARAMS() {
+ events = vector();
+ }
+};
+
+
+union MessageParams
+{
+ M_GOT_REQ_PARAMS M_GOT_REQ_PARAMS;
+ MTS_ASK_FOR_IMAGES_PROP_PARAMS MTS_ASK_FOR_IMAGES_PROP_PARAMS;
+ STM_SEND_IMAGES_PROP_PARAMS STM_SEND_IMAGES_PROP_PARAMS;
+ MTS_GIVE_THE_CHOSEN_IMAGE_PARAMS MTS_GIVE_THE_CHOSEN_IMAGE_PARAMS;
+ STM_RESPONSE_TO_THE_CHOSEN_IMAGE_PARAMS STM_RESPONSE_TO_THE_CHOSEN_IMAGE_PARAMS;
+ MTIP_REQ_FOR_REAL_MAP_PARAMS MTIP_REQ_FOR_REAL_MAP_PARAMS;
+ MTS_REQ_FOR_PHOTO_PARAMS MTS_REQ_FOR_PHOTO_PARAMS;
+ MTM_NO_COMMUNICATION_AT_ALL_PARAMS MTM_NO_COMMUNICATION_AT_ALL_PARAMS;
+ MTM_SLAVES_NOT_COMMUNICATE_PARAMS MTM_SLAVES_NOT_COMMUNICATE_PARAMS;
+ MTS_SEND_LOCATION_PARAMS MTS_SEND_LOCATION_PARAMS;
+ MTS_MOVE_OUT_OF_THIS_EREA_PARAMS MTS_MOVE_OUT_OF_THIS_EREA_PARAMS;
+ MTS_STOP_SEND_LOCATION_PARAMS MTS_STOP_SEND_LOCATION_PARAMS;
+ STM_LOCATION_PARAMS STM_LOCATION_PARAMS;
+ MTS_STOP_AT_PLACE_PARAMS MTS_STOP_AT_PLACE_PARAMS;
+ MTS_BACK_TO_STARTING_POINT_PARAMS MTS_BACK_TO_STARTING_POINT_PARAMS;
+ MTS_SEND_EVENTS_PARAMS MTS_SEND_EVENTS_PARAMS;
+ STM_GET_EVENTS_PARAMS STM_GET_EVENTS_PARAMS;
+
+ // áðàé áøéøú îçãì
+ MessageParams() {}
+ ~MessageParams() {}
+
+ // ñéîåï äùãä äôòì
+ //MessageType activeField;
+
+
+// // îééùí àåôøèåø äùîä
+// MessageParams& operator=(const MessageParams& other)
+// {
+// if (this != &other) {
+// // ìð÷åú àú äùãä äðåëçé ìôðé äùîä çãùä
+// destroyCurrentActiveField();
+//
+// activeField = other.activeField;
+// switch (activeField) {
+// case MessageType::M_GOT_REQ:
+// new (&M_GOT_REQ_PARAMS)struct M_GOT_REQ_PARAMS(other.M_GOT_REQ_PARAMS);
+// break;
+// case MessageType::MTS_ASK_FOR_IMAGES:
+// new (&MTS_ASK_FOR_IMAGES_PARAMS)struct MTS_ASK_FOR_IMAGES_PARAMS(other.MTS_ASK_FOR_IMAGES_PARAMS);
+// break;
+// case MessageType::STM_SEND_IMAGES_PROP:
+// new (&STM_SEND_IMAGES_PROP_PARAMS)struct STM_SEND_IMAGES_PROP_PARAMS(other.STM_SEND_IMAGES_PROP_PARAMS);
+// break;
+// case MessageType::MTS_GIVE_THE_CHOSEN_IMAGE:
+// new (&MTS_GIVE_THE_CHOSEN_IMAGE_PARAMS)struct MTS_GIVE_THE_CHOSEN_IMAGE_PARAMS(other.MTS_GIVE_THE_CHOSEN_IMAGE_PARAMS);
+// break;
+// case MessageType::STM_RESPONSE_TO_THE_CHOSEN_IMAGE:
+// new (&STM_RESPONSE_TO_THE_CHOSEN_IMAGE_PARAMS) struct STM_RESPONSE_TO_THE_CHOSEN_IMAGE_PARAMS(other.STM_RESPONSE_TO_THE_CHOSEN_IMAGE_PARAMS);
+// break;
+// case MessageType::MTS_SEND_LOCATION:
+// new(&MTS_SEND_LOCATION_PARAMS)struct MTS_SEND_LOCATION_PARAMS(other.MTS_SEND_LOCATION_PARAMS);
+// break;
+// case MessageType::MTS_MOVE_OUT_OF_THIS_EREA:
+// new (&MTS_MOVE_OUT_OF_THIS_EREA_PARAMS) struct MTS_MOVE_OUT_OF_THIS_EREA_PARAMS(other.MTS_MOVE_OUT_OF_THIS_EREA_PARAMS);
+// break;
+// case MessageType::MTS_STOP_SEND_LOCATION:
+// new (&MTS_STOP_SEND_LOCATION_PARAMS)struct MTS_STOP_SEND_LOCATION_PARAMS(other.MTS_STOP_SEND_LOCATION_PARAMS);
+// break;
+// case MessageType::MTS_STOP_AT_PLACE:
+// new (&MTS_STOP_AT_PLACE_PARAMS) struct MTS_STOP_AT_PLACE_PARAMS(other.MTS_STOP_AT_PLACE_PARAMS);
+// break;
+// case MessageType::MTS_BACK_TO_STARTING_POINT:
+// new (&MTS_BACK_TO_STARTING_POINT_PARAMS)struct MTS_BACK_TO_STARTING_POINT_PARAMS(other.MTS_BACK_TO_STARTING_POINT_PARAMS);
+// break;
+// case MessageType::MTS_SEND_EVENTS:
+// new (&MTS_SEND_EVENTS_PARAMS) struct MTS_SEND_EVENTS_PARAMS(other.MTS_SEND_EVENTS_PARAMS);
+// break;
+// case MessageType::STM_GET_EVENTS:
+// new (&STM_GET_EVENTS_PARAMS)struct STM_GET_EVENTS_PARAMS(other.STM_GET_EVENTS_PARAMS);
+// break;
+// default:
+// // ìà ùãä ôòéì
+// activeField = MessageType::size;
+// break;
+// }
+// }
+// return *this;
+// }
+//
+// // äøñ àåôøèåø
+// ~MessageParams()
+// {
+// destroyCurrentActiveField();
+// }
+//
+//private:
+// void destroyCurrentActiveField()
+// {
+// switch (activeField) {
+// case 0:
+// M_GOT_REQ_PARAMS.~M_GOT_REQ_PARAMS();
+// break;
+// case 1:
+// MTS_ASK_FOR_IMAGES_PARAMS.~MTS_ASK_FOR_IMAGES_PARAMS();
+// break;
+// case 2:
+// STM_SEND_IMAGES_PROP_PARAMS.~STM_SEND_IMAGES_PROP_PARAMS();
+// break;
+// // äåñó òåã î÷øéí ìëì ùãä á-union
+// // ...
+// default:
+// break;
+// }
+// }
+
+
+};
+
+
+
+
+
diff --git a/Master_Slave_Management/Master_Slave_Management/MessageType.cpp b/Master_Slave_Management/Master_Slave_Management/MessageType.cpp
new file mode 100644
index 0000000..008f38b
--- /dev/null
+++ b/Master_Slave_Management/Master_Slave_Management/MessageType.cpp
@@ -0,0 +1 @@
+#include "MessageType.h"
diff --git a/Master_Slave_Management/Master_Slave_Management/MessageType.h b/Master_Slave_Management/Master_Slave_Management/MessageType.h
new file mode 100644
index 0000000..8e9a22c
--- /dev/null
+++ b/Master_Slave_Management/Master_Slave_Management/MessageType.h
@@ -0,0 +1,25 @@
+#pragma once
+enum class MessageType
+{
+ M_GOT_REQ,
+ MTS_ASK_FOR_IMAGES,
+ STM_SEND_IMAGES_PROP,
+ MTS_GIVE_THE_CHOSEN_IMAGE,
+ STM_RESPONSE_TO_THE_CHOSEN_IMAGE,
+ MTS_REQ_FOR_PHOTO,
+ MTIP_REQ_FOR_REAL_MAP,
+ MTM_NO_COMMUNICATION_AT_ALL,
+ MTM_SLAVES_NOT_COMMUNICATE,
+ //IPTM_SEND_THE_IMAGES,
+ MTS_SEND_LOCATION,
+ MTS_MOVE_OUT_OF_THIS_EREA,
+ MTS_STOP_SEND_LOCATION,
+ STM_LOCATION,
+ MTS_STOP_AT_PLACE,
+ MTS_BACK_TO_STARTING_POINT,
+ MTS_SEND_EVENTS,
+ STM_GET_EVENTS,
+ size
+};
+
+
diff --git a/Master_Slave_Management/Master_Slave_Management/PointForSlave.h b/Master_Slave_Management/Master_Slave_Management/PointForSlave.h
new file mode 100644
index 0000000..b7eecd0
--- /dev/null
+++ b/Master_Slave_Management/Master_Slave_Management/PointForSlave.h
@@ -0,0 +1,23 @@
+#pragma once
+
+class PointForSlave
+{
+private:
+ float x;
+ float y;
+public:
+ PointForSlave() :x(0), y(0) {};
+ PointForSlave(float x, float y)
+ {
+ this->x = x;
+ this->y = y;
+ }
+ float GetX()
+ {
+ return this->x;
+ }
+ float GetY()
+ {
+ return this->y;
+ }
+};
\ No newline at end of file
diff --git a/Master_Slave_Management/Master_Slave_Management/Priority.h b/Master_Slave_Management/Master_Slave_Management/Priority.h
new file mode 100644
index 0000000..1df7c62
--- /dev/null
+++ b/Master_Slave_Management/Master_Slave_Management/Priority.h
@@ -0,0 +1,9 @@
+#pragma once
+enum class Priority
+{
+ Low, // Low priority - tasks that are not urgent and can be addressed later.
+ MediumLow, // Medium-Low priority - tasks that are less urgent than medium priority tasks.
+ Medium, // Medium priority - tasks that are somewhat urgent but not the highest priority.
+ MediumHigh, // Medium-High priority - tasks that are more urgent and require timely attention.
+ High // High priority - tasks that are the most urgent and require immediate attention.
+};
diff --git a/Master_Slave_Management/Master_Slave_Management/Queue.cpp b/Master_Slave_Management/Master_Slave_Management/Queue.cpp
new file mode 100644
index 0000000..4530105
--- /dev/null
+++ b/Master_Slave_Management/Master_Slave_Management/Queue.cpp
@@ -0,0 +1,104 @@
+#pragma once
+#include "Queue.h"
+#include
+#include
+#include
+#include "Message.h"
+#include "dataOfMessage.h"
+
+
+// Push an item to the end of the queue
+void Queue::push(Message data) {
+ std::lock_guard lock(mtx);
+ Node* newNode = new Node(&data);
+ if (tail == nullptr) {
+ head = tail = newNode;
+ }
+ else {
+ tail->next = newNode;
+ newNode->prev = tail;
+ tail = newNode;
+ }
+}
+
+// Pop an item from the front of the queue
+Message* Queue::pop() {
+ std::lock_guard lock(mtx);
+ if (head == nullptr) {
+ throw std::out_of_range("Queue is empty");
+ }
+ Node* temp = head;
+ head = head->next;
+ if (head != nullptr) {
+ head->prev = nullptr;
+ }
+ else {
+ tail = nullptr;
+ }
+ return temp->data;
+}
+
+// Pick (remove) an item from the middle of the queue
+Node* Queue::pick(int index) {
+ std::lock_guard lock(mtx);
+ if (head == nullptr) {
+ throw std::out_of_range("Queue is empty");
+ }
+ Node* temp = head;
+ for (int i = 0; i < index && temp != nullptr; ++i) {
+ temp = temp->next;
+ }
+ if (temp == nullptr) {
+ throw std::out_of_range("Index out of range");
+ }
+ if (temp->prev != nullptr) {
+ temp->prev->next = temp->next;
+ }
+ else {
+ head = temp->next;
+ }
+ if (temp->next != nullptr) {
+ temp->next->prev = temp->prev;
+ }
+ else {
+ tail = temp->prev;
+ }
+ return temp;
+}
+
+// Pass (iterate) over the queue
+int Queue::pass() const {
+ int counter = 0;
+ Node* current = head;
+ while (current != nullptr) {
+ counter++;
+ //std::cout << current->data.getMessage();
+ current = current->next;
+ }
+ //std::cout << std::endl;
+ return counter;
+}
+
+// Check if the queue is empty
+bool Queue::isEmpty() const {
+ return head == nullptr;
+}
+
+// Get the current priority of the queue
+int Queue::getPriority() const {
+ return priority;
+}
+
+// Set a new priority for the queue
+void Queue::setPriority(int newPriority) {
+ priority = newPriority;
+}
+
+//
+void Queue::Handler() {
+ Message* message = pop();
+ //Handles the message in the appropriate function
+ dataOfMessageVector[static_cast(message->messageType)].func(message);
+}
+
+
diff --git a/Master_Slave_Management/Master_Slave_Management/Queue.h b/Master_Slave_Management/Master_Slave_Management/Queue.h
new file mode 100644
index 0000000..1856d8b
--- /dev/null
+++ b/Master_Slave_Management/Master_Slave_Management/Queue.h
@@ -0,0 +1,87 @@
+#pragma once
+#include
+#include
+#include
+#include
+#include "Message.h"
+
+// Node structure for the doubly linked list
+struct Node {
+ Message* data;
+ Node* next;
+ Node* prev;
+
+ Node(Message* data) : data(data), next(nullptr), prev(nullptr) {}
+};
+typedef void (*FuncPtr)();
+
+class Queue {
+private:
+ //
+ std::vector pointersToFunctions;
+
+ //
+ Node* head;
+ Node* tail;
+ int priority;
+ int weight;
+ int currentWeight;
+ std::mutex mtx;
+public:
+ // Constructor to initialize an empty queue with a default priority
+ Queue(int weight, int priority = 0) : head(nullptr), tail(nullptr), priority(priority), weight(weight), currentWeight(weight) {}
+
+ // Destructor to clean up the allocated memory
+ ~Queue() {
+ while (head != nullptr) {
+ Node* temp = head;
+ head = head->next;
+ delete temp;
+ }
+ }
+
+ // Push an item to the end of the queue
+ void push(Message data);
+
+ // Pop an item from the front of the queue
+ Message* pop();
+
+ // Pick (remove) an item from the middle of the queue
+ Node* pick(int index);
+
+ Message* top() {
+ return head->data;
+ }
+ // Pass (iterate) over the queue
+ int pass() const;
+
+ // Check if the queue is empty
+ bool isEmpty() const;
+
+ // Get the current priority of the queue
+ int getPriority() const;
+
+ // Set a new priority for the queue
+ void setPriority(int newPriority);
+
+ int GetSize() {
+ return pass();
+ }
+
+ //Decrease the weight by one
+ void DecreaseWeight() {
+ this->currentWeight -= 1;
+ }
+ int GetCurrentWeight() const {
+ return currentWeight;
+ }
+ void SetCurrentWeight(int w) { currentWeight = w; }
+ int GetWeight() const {
+ return weight;
+ }
+ //Handler the message
+ void Handler();
+
+
+};
+
diff --git a/Master_Slave_Management/Master_Slave_Management/RealImage.h b/Master_Slave_Management/Master_Slave_Management/RealImage.h
new file mode 100644
index 0000000..3f34fb1
--- /dev/null
+++ b/Master_Slave_Management/Master_Slave_Management/RealImage.h
@@ -0,0 +1,48 @@
+#pragma once
+#pragma once
+#include "opencv2/opencv.hpp"
+using namespace std;
+using namespace cv;
+#ifdef _DEBUG
+// the debug version that corresponds to the opencv_world420d.dll:
+#pragma comment(lib, "opencv_world454d.lib")
+#else
+// the release version that corresponds to the opencv_world420.dll:
+#pragma comment(lib, "opencv_world454.lib")
+#endif
+class RealImage
+{
+private:
+ Mat img;
+ int id;
+ int slaveId;
+public:
+ RealImage() {}
+ RealImage(int id, int slaveId, Mat img)
+ {
+ this->id = id;
+ this->slaveId = slaveId;
+ this->img = img;
+ //for (int y = 0; y < img.rows; ++y) {
+ // for (int x = 0; x < img.cols; ++x) {
+ // Vec3b pixel = img.at(y, x);
+ // Vec3b pixel1 = this->img.at(y, x);
+ // pixel1[0] = pixel[0];
+ // pixel1[1] = pixel[1];
+ // pixel1[2] = pixel[2];
+ // }
+ //}
+ }
+ int getId()
+ {
+ return this->id;
+ }
+ int getSlaveId()
+ {
+ return this->slaveId;
+ }
+ Mat getImg()
+ {
+ return this->img;
+ }
+};
\ No newline at end of file
diff --git a/Master_Slave_Management/Master_Slave_Management/Scheduling.cpp b/Master_Slave_Management/Master_Slave_Management/Scheduling.cpp
new file mode 100644
index 0000000..dab5fc4
--- /dev/null
+++ b/Master_Slave_Management/Master_Slave_Management/Scheduling.cpp
@@ -0,0 +1,87 @@
+#pragma once
+#include "Queue.h"
+#include "Message.h"
+#include
+#include
+
+/**
+ * @brief Function to check if all queues are empty and all weights are zero.
+ *
+ * @param listOfTaskQueues Reference to the list of QueueManagement objects.
+ * @return true If all queues are empty and all weights are zero.
+ * @return false If any queue is not empty or any weight is not zero.
+ */
+bool CheckQueueIsEmptyAndWeightZeroForAll(std::list& listOfTaskQueues) {
+ for (auto& qm : listOfTaskQueues) {
+ if (!qm.isEmpty() || qm.GetCurrentWeight() > 0)
+ return false;
+ }
+ return true;
+}
+
+
+/**
+ * @brief Function to reset the current weights of the queues to their initial values.
+ *
+ * @param listOfTaskQueues Pointer to the list of QueueManagement objects.
+ */
+void InitialWeights(std::list* listOfTaskQueues) {
+ for (auto& queue : *listOfTaskQueues) {
+ queue.SetCurrentWeight(queue.GetWeight());
+ }
+}
+
+/**
+ * @brief Function to add additional tasks to non-empty queues.
+ *
+ * @param listOfTaskQueues Reference to the list of QueueManagement objects.
+ */
+void addAdditionalTasks(std::list& listOfTaskQueues) {
+ for (auto& queue : listOfTaskQueues) {
+ Message additionalTask = Message(); // éöéøú îùéîä çãùä òí îöáéò
+ queue.push(additionalTask); // äåñôú äîùéîä ìúåø
+ }
+}
+
+/**
+ * @brief Function to perform weighted round robin scheduling.
+ *
+ * @param listOfTaskQueues Pointer to the list of QueueManagement objects.
+ * @param addTasks Boolean flag to indicate whether to add additional tasks during execution.
+ */
+void WeightedRoundRobin(std::list* listOfTaskQueues, bool addTasks) {
+ while (true) {
+ // Loop until all queues are empty
+ while (CheckQueueIsEmptyAndWeightZeroForAll(*listOfTaskQueues) == false) {
+ bool allWeightsZero = true;
+ bool allQueuesEmpty = true;
+ // Iterate through each QueueManagement object in the list
+ for (auto& queueManagement : *listOfTaskQueues) {
+ // Check if the current queue has remaining weight and if the current queue is not empty
+ if (!queueManagement.isEmpty() && queueManagement.GetCurrentWeight() > 0) {
+ // Print a message indicating a task is running
+ std::cout << "Running task: " << std::endl;
+ // Handle the task at the front of the queue
+ queueManagement.Handler();
+ // Decrease the weight of the current queue
+ queueManagement.DecreaseWeight();
+ }
+ if (queueManagement.GetCurrentWeight() > 0)
+ allWeightsZero = false;
+ if (!queueManagement.isEmpty())
+ allQueuesEmpty = false;
+ }
+ if (allQueuesEmpty)
+ break;
+ if (allWeightsZero) {
+ InitialWeights(listOfTaskQueues);
+ }
+ if (addTasks) {
+ addAdditionalTasks(*listOfTaskQueues); // äåñôú îùéîåú ðåñôåú
+ }
+ }
+ }
+}
+
+
+
diff --git a/Master_Slave_Management/Master_Slave_Management/Scheduling.h b/Master_Slave_Management/Master_Slave_Management/Scheduling.h
new file mode 100644
index 0000000..a81a645
--- /dev/null
+++ b/Master_Slave_Management/Master_Slave_Management/Scheduling.h
@@ -0,0 +1,11 @@
+#pragma once
+#include "Queue.h"
+#include "Message.h"
+#include
+#include
+
+// Function to check if all queues are empty
+bool CheckQueueIsEmptyAndWeightZeroForAll(std::list& listOfTaskQueues);
+void InitialWeights(std::list* listOfTaskQueues);
+void WeightedRoundRobin(std::list* listOfTaskQueues, bool addTasks);
+void addAdditionalTasks(std::list& listOfTaskQueues);
diff --git a/Master_Slave_Management/Master_Slave_Management/Slave.h b/Master_Slave_Management/Master_Slave_Management/Slave.h
new file mode 100644
index 0000000..4f6bedb
--- /dev/null
+++ b/Master_Slave_Management/Master_Slave_Management/Slave.h
@@ -0,0 +1,43 @@
+#pragma once
+#pragma once
+#include "ImageFromSlave.h"
+#include "MessageParams.h"
+
+using namespace std;
+class Slave
+{
+private:
+ int id;
+ static int Counter;
+public:
+ Slave()
+ {
+ Counter++;
+ this->id = Counter;
+ };
+ int GetId()
+ {
+ return this->id;
+ };
+ int GetSlaveId()
+ {
+ return Counter;
+ }
+ void setId(int id)
+ {
+ this->id = id;
+ }
+ vector CheckIfIHaveImage(PointForSlave p, ImageFromSlave MyArrOfImages[]);
+ bool isPointInImage(PointForSlave p, ImageFromSlave img);
+ STM_SEND_IMAGES_PROP_PARAMS GetAStructForImageInPoint(MTS_ASK_FOR_IMAGES_PROP_PARAMS msg) {};
+ STM_RESPONSE_TO_THE_CHOSEN_IMAGE_PARAMS return_of_an_image_by_its_properties(MTS_GIVE_THE_CHOSEN_IMAGE_PARAMS msgR) {};
+};
+
+
+
+
+
+
+
+
+
diff --git a/Master_Slave_Management/Master_Slave_Management/SlavesManager.h b/Master_Slave_Management/Master_Slave_Management/SlavesManager.h
new file mode 100644
index 0000000..8adb3f3
--- /dev/null
+++ b/Master_Slave_Management/Master_Slave_Management/SlavesManager.h
@@ -0,0 +1,43 @@
+#pragma once
+#include
+#include "ImageFromSlave.h"
+#include "mapRequest.h"
+#include "MessageParams.h"
+#include "RealImage.h"
+using namespace std;
+struct GlobalData {
+ static int static_current_ID;
+ static vector TheImagesFromSlaves;
+ static int NumOfSlaves_HasToAnswer;
+ static vector theBoolAnswers;
+ static float MinimumLine;
+ static vector TheOptimals;
+ static PointForSlave pfs;
+ static mapRequest mapReqGlobal;
+ static vector RealImagesV;
+};
+class SlavesManager {
+public:
+ void addEvent(string event);
+ bool handle_photo_request();
+ bool verify_photo(bool photo_taken);
+ bool no_comments();
+ int belongs_to_the_current_process(int ID, int current_ID, int number_of_slaves);
+ bool the_irrelevant_images_did_not_enter_the_array(const vector& IDresponses, int current_ID);
+ bool request_for_a_map_arrived(bool map_request);
+ bool Enter_the_queue(vector queue, int map_request_ID);
+ bool The_request_is_processed(int map_request_ID);
+ ImageFromSlave ChooseTheOptimalImage();
+ PointForSlave next_point_to_send(ImageFromSlave selected_image, float next_minimum_line);
+ vectorrandom_slaves_for_getting_images(ImageFromSlave temporary[]);
+ PointForSlave getARequestForAMap(M_GOT_REQ_PARAMS getReqMap);
+ vector sendRequestForImageInSpecificPoint();
+ void getResponse_ImageFromSlave(STM_SEND_IMAGES_PROP_PARAMS ResFromSlave);
+ void sendRequestToSlaveToGetRealImage();
+ void getTheRealImageFromSlave(STM_RESPONSE_TO_THE_CHOSEN_IMAGE_PARAMS resFromSlave);
+ bool checking_if_there_is_a_real_picture(STM_RESPONSE_TO_THE_CHOSEN_IMAGE_PARAMS RealI);
+ void sendMessageToTakeAPicture();
+ bool forCaseSeveralDidntAnswer(int numOfSlaves);
+ void getTheSlavesThatDidntCommunicate(MTM_SLAVES_NOT_COMMUNICATE_PARAMS msgToMaster);
+ void TheWhileFunc();
+};
\ No newline at end of file
diff --git a/Master_Slave_Management/Master_Slave_Management/dataOfMessage.h b/Master_Slave_Management/Master_Slave_Management/dataOfMessage.h
new file mode 100644
index 0000000..4513089
--- /dev/null
+++ b/Master_Slave_Management/Master_Slave_Management/dataOfMessage.h
@@ -0,0 +1,59 @@
+#pragma once
+#include "Priority.h"
+#include "Message.h"
+
+struct dataOfMessage {
+ Priority priority;
+ void (*func)(Message* message);
+};
+//functions
+void getARequestForAMap(Message* message) {};//M_GOT_REQ
+void sendRequestForImageInSpecificPoint(Message* message) {};//MTS_ASK_FOR_IMAGES
+void GetAStructForImageInPoint(Message* message) {};//STM_SEND_IMAGE_PROP
+void sendRequestToSlaveToGetRealImage(Message* message) {};//MTS_GIVE_THE_CHOSEN_IMAGE
+void return_of_an_image_by_its_properties(Message* message) {};//STM_RESPONSE_TO_THE_CHOSEN_IMAGE
+void sendMessageToTakeAPicture(Message* message) {};//MTS_REQ_FOR_PHOTO
+void getTheSlavesThatDidntCommunicate(Message* message) {};//MTM_SLAVES_NOT_COMMUNICATE
+void receiveEventsFromSlave(Message* message) {};//STM_GET_EVENTS_PARAMS
+void getEvents(Message* message) {};//MTS_SEND_EVENTS_PARAMS
+void handleLocation(Message* message) {};//MTS_SEND_LOCATIONint sec
+void moveFromYourPlaceSafely(Message* message) {};//MTS_MOVE_OUT_OF_THIS_AREA
+void setSendLocation(Message* message) {};//MTS_STOP_SEND_LOCATION
+void updateDroneLocation(Message* message) {};//STM_LOCATION
+
+dataOfMessage dataOfMessageVector[int(MessageType::size)];
+
+//initial vector pointer to function
+void InitialPointerToFunction() {
+ dataOfMessageVector[static_cast(MessageType::M_GOT_REQ)].func = &getARequestForAMap;
+ dataOfMessageVector[static_cast(MessageType::M_GOT_REQ)].priority = Priority::Medium;
+ dataOfMessageVector[static_cast(MessageType::MTS_ASK_FOR_IMAGES)].func = &sendRequestForImageInSpecificPoint;
+ dataOfMessageVector[static_cast(MessageType::MTS_ASK_FOR_IMAGES)].priority = Priority::MediumHigh;
+ dataOfMessageVector[static_cast(MessageType::STM_SEND_IMAGES_PROP)].func = &GetAStructForImageInPoint;
+ dataOfMessageVector[static_cast(MessageType::STM_SEND_IMAGES_PROP)].priority = Priority::Medium;
+ dataOfMessageVector[static_cast(MessageType::MTS_GIVE_THE_CHOSEN_IMAGE)].func = &sendRequestToSlaveToGetRealImage;
+ dataOfMessageVector[static_cast(MessageType::MTS_GIVE_THE_CHOSEN_IMAGE)].priority = Priority::MediumHigh;
+ dataOfMessageVector[static_cast(MessageType::STM_RESPONSE_TO_THE_CHOSEN_IMAGE)].func = &return_of_an_image_by_its_properties;
+ dataOfMessageVector[static_cast(MessageType::STM_RESPONSE_TO_THE_CHOSEN_IMAGE)].priority = Priority::High;
+ dataOfMessageVector[static_cast(MessageType::MTS_REQ_FOR_PHOTO)].func = &sendMessageToTakeAPicture;
+ dataOfMessageVector[static_cast(MessageType::MTS_REQ_FOR_PHOTO)].priority = Priority::MediumLow;
+ dataOfMessageVector[static_cast(MessageType::MTIP_REQ_FOR_REAL_MAP)].func = &getEvents;
+ dataOfMessageVector[static_cast(MessageType::MTIP_REQ_FOR_REAL_MAP)].priority = Priority::Medium;
+ dataOfMessageVector[static_cast(MessageType::MTS_SEND_LOCATION)].func = &handleLocation;
+ dataOfMessageVector[static_cast(MessageType::MTS_SEND_LOCATION)].priority = Priority::MediumLow;
+ dataOfMessageVector[static_cast(MessageType::MTS_MOVE_OUT_OF_THIS_EREA)].func = &moveFromYourPlaceSafely;
+ dataOfMessageVector[static_cast(MessageType::MTS_MOVE_OUT_OF_THIS_EREA)].priority = Priority::Medium;
+ dataOfMessageVector[static_cast(MessageType::MTS_STOP_SEND_LOCATION)].func = &setSendLocation;
+ dataOfMessageVector[static_cast(MessageType::MTS_STOP_SEND_LOCATION)].priority = Priority::Low;
+ dataOfMessageVector[static_cast(MessageType::STM_LOCATION)].func = &updateDroneLocation;
+ dataOfMessageVector[static_cast(MessageType::STM_LOCATION)].priority = Priority::Low;
+ dataOfMessageVector[static_cast(MessageType::MTS_STOP_AT_PLACE)].func = nullptr;//no function
+ dataOfMessageVector[static_cast(MessageType::MTS_STOP_AT_PLACE)].priority = Priority::Medium;
+ dataOfMessageVector[static_cast(MessageType::MTS_BACK_TO_STARTING_POINT)].func = nullptr;//no function
+ dataOfMessageVector[static_cast(MessageType::MTS_BACK_TO_STARTING_POINT)].priority = Priority::High;
+ dataOfMessageVector[static_cast(MessageType::MTS_SEND_EVENTS)].func = &getEvents;
+ dataOfMessageVector[static_cast(MessageType::MTS_SEND_EVENTS)].priority = Priority::MediumLow;
+ dataOfMessageVector[static_cast(MessageType::STM_GET_EVENTS)].func = &receiveEventsFromSlave;
+ dataOfMessageVector[static_cast(MessageType::STM_GET_EVENTS)].priority = Priority::MediumHigh;
+}
+void getTheSlavesThatDidntCommunicate(Message* message);//MTM_SLAVES_NOT_COMMUNICATE#pragma once
diff --git a/Master_Slave_Management/Master_Slave_Management/event.h b/Master_Slave_Management/Master_Slave_Management/event.h
new file mode 100644
index 0000000..c36cea4
--- /dev/null
+++ b/Master_Slave_Management/Master_Slave_Management/event.h
@@ -0,0 +1,30 @@
+#pragma once
+#define _CRT_SECURE_NO_WARNINGS
+#include
+#include
+#include
+#include
+#include
+using namespace std;
+using namespace std::chrono;
+struct Event
+{
+private:
+ tm time;
+ string message;
+public:
+ Event();
+ Event(string message);
+ Event(tm time, string message);
+ Event(const Event& other);
+ Event& operator=(const Event& other);
+ bool operator<(const Event& other) const;
+ bool operator>(const Event& other) const;
+ bool operator==(const Event& other) const;
+ tm getTime();
+ string getMessage();
+ string getFormatTime();
+ size_t getSize();
+ string toString();
+};
+
diff --git a/Master_Slave_Management/Master_Slave_Management/mapRequest.h b/Master_Slave_Management/Master_Slave_Management/mapRequest.h
new file mode 100644
index 0000000..29cbe24
--- /dev/null
+++ b/Master_Slave_Management/Master_Slave_Management/mapRequest.h
@@ -0,0 +1,32 @@
+#pragma once
+static int reqIdStatic = 0;
+class mapRequest
+{
+private:
+ PointForSlave TL;
+ PointForSlave BR;
+ int reqId;
+public:
+ mapRequest()
+ {
+ //Top Left : 31.8200° N, 35.1766° E
+ //Bottom Right : 31.7961° N, 35.2075° E
+ PointForSlave tl(31.8200, 35.1766);
+ PointForSlave br(31.7961, 35.2075);
+ this->TL = tl;
+ this->BR = br;
+ this->reqId = reqIdStatic++;
+ }
+ PointForSlave GetBR()
+ {
+ return this->BR;
+ }
+ PointForSlave GetTL()
+ {
+ return this->TL;
+ }
+ int getReqId()
+ {
+ return this->reqId;
+ }
+};
diff --git a/management-queues/.gitignore b/management-queues/.gitignore
new file mode 100644
index 0000000..181f203
--- /dev/null
+++ b/management-queues/.gitignore
@@ -0,0 +1,15 @@
+.vs/
+*.vcxproj
+*.vcxproj.filters
+*.vcxproj.user
+*.sln
+
+# Build folders
+x64/Debug/
+x64/Release/
+
+# Other files and folders you want to ignore
+*.log
+*.obj
+*.exe
+*.dll
\ No newline at end of file
diff --git a/management-queues/CMakeLists.txt b/management-queues/CMakeLists.txt
new file mode 100644
index 0000000..e4a66ec
--- /dev/null
+++ b/management-queues/CMakeLists.txt
@@ -0,0 +1,18 @@
+cmake_minimum_required(VERSION 3.5)
+project(QueuesManagment)
+
+set(CMAKE_CXX_STANDARD 17)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+
+# Find pthread library
+find_package(Threads REQUIRED)
+
+file(GLOB SOURCE_FILES "management-queues/*.cpp")
+
+add_executable(QueuesManagment ${SOURCE_FILES})
+
+# Include directories
+target_include_directories(QueuesManagment PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
+
+# Link pthread library
+target_link_libraries(QueuesManagment PRIVATE Threads::Threads)
diff --git a/management-queues/build/CMakeCache.txt b/management-queues/build/CMakeCache.txt
new file mode 100644
index 0000000..fd9a2bf
--- /dev/null
+++ b/management-queues/build/CMakeCache.txt
@@ -0,0 +1,376 @@
+# This is the CMakeCache file.
+# For build in directory: /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build
+# It was generated by CMake: /usr/bin/cmake
+# You can edit this file to change values found and used by cmake.
+# If you do not want to change any of the values, simply exit the editor.
+# If you do want to change a value, simply edit, save, and exit the editor.
+# The syntax for the file is as follows:
+# KEY:TYPE=VALUE
+# KEY is the name of a variable in the cache.
+# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
+# VALUE is the current value for the KEY.
+
+########################
+# EXTERNAL cache entries
+########################
+
+//Path to a program.
+CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line
+
+//Path to a program.
+CMAKE_AR:FILEPATH=/usr/bin/ar
+
+//Choose the type of build, options are: None Debug Release RelWithDebInfo
+// MinSizeRel ...
+CMAKE_BUILD_TYPE:STRING=
+
+//Enable/Disable color output during build.
+CMAKE_COLOR_MAKEFILE:BOOL=ON
+
+//CXX compiler
+CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++
+
+//A wrapper around 'ar' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-9
+
+//A wrapper around 'ranlib' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-9
+
+//Flags used by the CXX compiler during all build types.
+CMAKE_CXX_FLAGS:STRING=
+
+//Flags used by the CXX compiler during DEBUG builds.
+CMAKE_CXX_FLAGS_DEBUG:STRING=-g
+
+//Flags used by the CXX compiler during MINSIZEREL builds.
+CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
+
+//Flags used by the CXX compiler during RELEASE builds.
+CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
+
+//Flags used by the CXX compiler during RELWITHDEBINFO builds.
+CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
+
+//C compiler
+CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc
+
+//A wrapper around 'ar' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-9
+
+//A wrapper around 'ranlib' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-9
+
+//Flags used by the C compiler during all build types.
+CMAKE_C_FLAGS:STRING=
+
+//Flags used by the C compiler during DEBUG builds.
+CMAKE_C_FLAGS_DEBUG:STRING=-g
+
+//Flags used by the C compiler during MINSIZEREL builds.
+CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
+
+//Flags used by the C compiler during RELEASE builds.
+CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
+
+//Flags used by the C compiler during RELWITHDEBINFO builds.
+CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
+
+//Path to a program.
+CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND
+
+//Flags used by the linker during all build types.
+CMAKE_EXE_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during DEBUG builds.
+CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during MINSIZEREL builds.
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during RELEASE builds.
+CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during RELWITHDEBINFO builds.
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Enable/Disable output of compile commands during generation.
+CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF
+
+//Install path prefix, prepended onto install directories.
+CMAKE_INSTALL_PREFIX:PATH=/usr/local
+
+//Path to a program.
+CMAKE_LINKER:FILEPATH=/usr/bin/ld
+
+//Path to a program.
+CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make
+
+//Flags used by the linker during the creation of modules during
+// all build types.
+CMAKE_MODULE_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of modules during
+// DEBUG builds.
+CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of modules during
+// MINSIZEREL builds.
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of modules during
+// RELEASE builds.
+CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of modules during
+// RELWITHDEBINFO builds.
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_NM:FILEPATH=/usr/bin/nm
+
+//Path to a program.
+CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
+
+//Path to a program.
+CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
+
+//Value Computed by CMake
+CMAKE_PROJECT_DESCRIPTION:STATIC=
+
+//Value Computed by CMake
+CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
+
+//Value Computed by CMake
+CMAKE_PROJECT_NAME:STATIC=QueuesManagment
+
+//Path to a program.
+CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
+
+//Path to a program.
+CMAKE_READELF:FILEPATH=/usr/bin/readelf
+
+//Flags used by the linker during the creation of shared libraries
+// during all build types.
+CMAKE_SHARED_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during DEBUG builds.
+CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during MINSIZEREL builds.
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during RELEASE builds.
+CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during RELWITHDEBINFO builds.
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//If set, runtime paths are not added when installing shared libraries,
+// but are added when building.
+CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
+
+//If set, runtime paths are not added when using shared libraries.
+CMAKE_SKIP_RPATH:BOOL=NO
+
+//Flags used by the linker during the creation of static libraries
+// during all build types.
+CMAKE_STATIC_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during DEBUG builds.
+CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during MINSIZEREL builds.
+CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during RELEASE builds.
+CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during RELWITHDEBINFO builds.
+CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_STRIP:FILEPATH=/usr/bin/strip
+
+//If this value is on, makefiles will be generated without the
+// .SILENT directive, and all commands will be echoed to the console
+// during the make. This is useful for debugging only. With Visual
+// Studio IDE projects all commands are done without /nologo.
+CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
+
+//Value Computed by CMake
+QueuesManagment_BINARY_DIR:STATIC=/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build
+
+//Value Computed by CMake
+QueuesManagment_SOURCE_DIR:STATIC=/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues
+
+
+########################
+# INTERNAL cache entries
+########################
+
+//ADVANCED property for variable: CMAKE_ADDR2LINE
+CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_AR
+CMAKE_AR-ADVANCED:INTERNAL=1
+//This is the directory where this CMakeCache.txt was created
+CMAKE_CACHEFILE_DIR:INTERNAL=/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build
+//Major version of cmake used to create the current loaded cache
+CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
+//Minor version of cmake used to create the current loaded cache
+CMAKE_CACHE_MINOR_VERSION:INTERNAL=16
+//Patch version of cmake used to create the current loaded cache
+CMAKE_CACHE_PATCH_VERSION:INTERNAL=3
+//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE
+CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1
+//Path to CMake executable.
+CMAKE_COMMAND:INTERNAL=/usr/bin/cmake
+//Path to cpack program executable.
+CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack
+//Path to ctest program executable.
+CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest
+//ADVANCED property for variable: CMAKE_CXX_COMPILER
+CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR
+CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB
+CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS
+CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
+CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
+CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
+CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
+CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_COMPILER
+CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_COMPILER_AR
+CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB
+CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS
+CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
+CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
+CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
+CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
+CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_DLLTOOL
+CMAKE_DLLTOOL-ADVANCED:INTERNAL=1
+//Executable file format
+CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
+CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
+CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
+CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
+CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
+//Name of external makefile project generator.
+CMAKE_EXTRA_GENERATOR:INTERNAL=
+//Name of generator.
+CMAKE_GENERATOR:INTERNAL=Unix Makefiles
+//Generator instance identifier.
+CMAKE_GENERATOR_INSTANCE:INTERNAL=
+//Name of generator platform.
+CMAKE_GENERATOR_PLATFORM:INTERNAL=
+//Name of generator toolset.
+CMAKE_GENERATOR_TOOLSET:INTERNAL=
+//Test CMAKE_HAVE_LIBC_PTHREAD
+CMAKE_HAVE_LIBC_PTHREAD:INTERNAL=
+//Have library pthreads
+CMAKE_HAVE_PTHREADS_CREATE:INTERNAL=
+//Have library pthread
+CMAKE_HAVE_PTHREAD_CREATE:INTERNAL=1
+//Have include pthread.h
+CMAKE_HAVE_PTHREAD_H:INTERNAL=1
+//Source directory with the top level CMakeLists.txt file for this
+// project
+CMAKE_HOME_DIRECTORY:INTERNAL=/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues
+//Install .so files without execute permission.
+CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1
+//ADVANCED property for variable: CMAKE_LINKER
+CMAKE_LINKER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
+CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
+CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
+CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
+CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_NM
+CMAKE_NM-ADVANCED:INTERNAL=1
+//number of local generators
+CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1
+//ADVANCED property for variable: CMAKE_OBJCOPY
+CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_OBJDUMP
+CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
+//Platform information initialized
+CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_RANLIB
+CMAKE_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_READELF
+CMAKE_READELF-ADVANCED:INTERNAL=1
+//Path to CMake installation.
+CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.16
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
+CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
+CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
+CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
+CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SKIP_RPATH
+CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
+CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
+CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
+CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
+CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STRIP
+CMAKE_STRIP-ADVANCED:INTERNAL=1
+//uname command
+CMAKE_UNAME:INTERNAL=/usr/bin/uname
+//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
+CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
+//Details about finding Threads
+FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()]
+
diff --git a/management-queues/build/CMakeFiles/3.16.3/CMakeCCompiler.cmake b/management-queues/build/CMakeFiles/3.16.3/CMakeCCompiler.cmake
new file mode 100644
index 0000000..c5ece7b
--- /dev/null
+++ b/management-queues/build/CMakeFiles/3.16.3/CMakeCCompiler.cmake
@@ -0,0 +1,76 @@
+set(CMAKE_C_COMPILER "/usr/bin/cc")
+set(CMAKE_C_COMPILER_ARG1 "")
+set(CMAKE_C_COMPILER_ID "GNU")
+set(CMAKE_C_COMPILER_VERSION "9.4.0")
+set(CMAKE_C_COMPILER_VERSION_INTERNAL "")
+set(CMAKE_C_COMPILER_WRAPPER "")
+set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11")
+set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert")
+set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes")
+set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros")
+set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert")
+
+set(CMAKE_C_PLATFORM_ID "Linux")
+set(CMAKE_C_SIMULATE_ID "")
+set(CMAKE_C_COMPILER_FRONTEND_VARIANT "")
+set(CMAKE_C_SIMULATE_VERSION "")
+
+
+
+set(CMAKE_AR "/usr/bin/ar")
+set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-9")
+set(CMAKE_RANLIB "/usr/bin/ranlib")
+set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-9")
+set(CMAKE_LINKER "/usr/bin/ld")
+set(CMAKE_MT "")
+set(CMAKE_COMPILER_IS_GNUCC 1)
+set(CMAKE_C_COMPILER_LOADED 1)
+set(CMAKE_C_COMPILER_WORKS TRUE)
+set(CMAKE_C_ABI_COMPILED TRUE)
+set(CMAKE_COMPILER_IS_MINGW )
+set(CMAKE_COMPILER_IS_CYGWIN )
+if(CMAKE_COMPILER_IS_CYGWIN)
+ set(CYGWIN 1)
+ set(UNIX 1)
+endif()
+
+set(CMAKE_C_COMPILER_ENV_VAR "CC")
+
+if(CMAKE_COMPILER_IS_MINGW)
+ set(MINGW 1)
+endif()
+set(CMAKE_C_COMPILER_ID_RUN 1)
+set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
+set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
+set(CMAKE_C_LINKER_PREFERENCE 10)
+
+# Save compiler ABI information.
+set(CMAKE_C_SIZEOF_DATA_PTR "8")
+set(CMAKE_C_COMPILER_ABI "ELF")
+set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
+
+if(CMAKE_C_SIZEOF_DATA_PTR)
+ set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
+endif()
+
+if(CMAKE_C_COMPILER_ABI)
+ set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
+endif()
+
+if(CMAKE_C_LIBRARY_ARCHITECTURE)
+ set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
+endif()
+
+set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "")
+if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
+ set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
+endif()
+
+
+
+
+
+set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include")
+set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s")
+set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
+set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
diff --git a/management-queues/build/CMakeFiles/3.16.3/CMakeCXXCompiler.cmake b/management-queues/build/CMakeFiles/3.16.3/CMakeCXXCompiler.cmake
new file mode 100644
index 0000000..278ef39
--- /dev/null
+++ b/management-queues/build/CMakeFiles/3.16.3/CMakeCXXCompiler.cmake
@@ -0,0 +1,88 @@
+set(CMAKE_CXX_COMPILER "/usr/bin/c++")
+set(CMAKE_CXX_COMPILER_ARG1 "")
+set(CMAKE_CXX_COMPILER_ID "GNU")
+set(CMAKE_CXX_COMPILER_VERSION "9.4.0")
+set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
+set(CMAKE_CXX_COMPILER_WRAPPER "")
+set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14")
+set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20")
+set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
+set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
+set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
+set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
+set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
+
+set(CMAKE_CXX_PLATFORM_ID "Linux")
+set(CMAKE_CXX_SIMULATE_ID "")
+set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "")
+set(CMAKE_CXX_SIMULATE_VERSION "")
+
+
+
+set(CMAKE_AR "/usr/bin/ar")
+set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-9")
+set(CMAKE_RANLIB "/usr/bin/ranlib")
+set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-9")
+set(CMAKE_LINKER "/usr/bin/ld")
+set(CMAKE_MT "")
+set(CMAKE_COMPILER_IS_GNUCXX 1)
+set(CMAKE_CXX_COMPILER_LOADED 1)
+set(CMAKE_CXX_COMPILER_WORKS TRUE)
+set(CMAKE_CXX_ABI_COMPILED TRUE)
+set(CMAKE_COMPILER_IS_MINGW )
+set(CMAKE_COMPILER_IS_CYGWIN )
+if(CMAKE_COMPILER_IS_CYGWIN)
+ set(CYGWIN 1)
+ set(UNIX 1)
+endif()
+
+set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
+
+if(CMAKE_COMPILER_IS_MINGW)
+ set(MINGW 1)
+endif()
+set(CMAKE_CXX_COMPILER_ID_RUN 1)
+set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP)
+set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
+
+foreach (lang C OBJC OBJCXX)
+ if (CMAKE_${lang}_COMPILER_ID_RUN)
+ foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
+ list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
+ endforeach()
+ endif()
+endforeach()
+
+set(CMAKE_CXX_LINKER_PREFERENCE 30)
+set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
+
+# Save compiler ABI information.
+set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
+set(CMAKE_CXX_COMPILER_ABI "ELF")
+set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
+
+if(CMAKE_CXX_SIZEOF_DATA_PTR)
+ set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
+endif()
+
+if(CMAKE_CXX_COMPILER_ABI)
+ set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
+endif()
+
+if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
+ set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
+endif()
+
+set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
+if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
+ set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
+endif()
+
+
+
+
+
+set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/9;/usr/include/x86_64-linux-gnu/c++/9;/usr/include/c++/9/backward;/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include")
+set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc")
+set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
+set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
diff --git a/management-queues/build/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_C.bin b/management-queues/build/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_C.bin
new file mode 100644
index 0000000..b7a0b09
Binary files /dev/null and b/management-queues/build/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_C.bin differ
diff --git a/management-queues/build/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_CXX.bin b/management-queues/build/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_CXX.bin
new file mode 100644
index 0000000..a9f2f4f
Binary files /dev/null and b/management-queues/build/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_CXX.bin differ
diff --git a/management-queues/build/CMakeFiles/3.16.3/CMakeSystem.cmake b/management-queues/build/CMakeFiles/3.16.3/CMakeSystem.cmake
new file mode 100644
index 0000000..9f73b3f
--- /dev/null
+++ b/management-queues/build/CMakeFiles/3.16.3/CMakeSystem.cmake
@@ -0,0 +1,15 @@
+set(CMAKE_HOST_SYSTEM "Linux-5.15.153.1-microsoft-standard-WSL2")
+set(CMAKE_HOST_SYSTEM_NAME "Linux")
+set(CMAKE_HOST_SYSTEM_VERSION "5.15.153.1-microsoft-standard-WSL2")
+set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
+
+
+
+set(CMAKE_SYSTEM "Linux-5.15.153.1-microsoft-standard-WSL2")
+set(CMAKE_SYSTEM_NAME "Linux")
+set(CMAKE_SYSTEM_VERSION "5.15.153.1-microsoft-standard-WSL2")
+set(CMAKE_SYSTEM_PROCESSOR "x86_64")
+
+set(CMAKE_CROSSCOMPILING "FALSE")
+
+set(CMAKE_SYSTEM_LOADED 1)
diff --git a/management-queues/build/CMakeFiles/3.16.3/CompilerIdC/CMakeCCompilerId.c b/management-queues/build/CMakeFiles/3.16.3/CompilerIdC/CMakeCCompilerId.c
new file mode 100644
index 0000000..d884b50
--- /dev/null
+++ b/management-queues/build/CMakeFiles/3.16.3/CompilerIdC/CMakeCCompilerId.c
@@ -0,0 +1,671 @@
+#ifdef __cplusplus
+# error "A C++ compiler has been selected for C."
+#endif
+
+#if defined(__18CXX)
+# define ID_VOID_MAIN
+#endif
+#if defined(__CLASSIC_C__)
+/* cv-qualifiers did not exist in K&R C */
+# define const
+# define volatile
+#endif
+
+
+/* Version number components: V=Version, R=Revision, P=Patch
+ Version date components: YYYY=Year, MM=Month, DD=Day */
+
+#if defined(__INTEL_COMPILER) || defined(__ICC)
+# define COMPILER_ID "Intel"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# if defined(__GNUC__)
+# define SIMULATE_ID "GNU"
+# endif
+ /* __INTEL_COMPILER = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
+# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
+# if defined(__INTEL_COMPILER_UPDATE)
+# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
+# else
+# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
+# endif
+# if defined(__INTEL_COMPILER_BUILD_DATE)
+ /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
+# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
+# endif
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# if defined(__GNUC__)
+# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
+# elif defined(__GNUG__)
+# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
+# endif
+# if defined(__GNUC_MINOR__)
+# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(__PATHCC__)
+# define COMPILER_ID "PathScale"
+# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
+# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
+# if defined(__PATHCC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
+# endif
+
+#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
+# define COMPILER_ID "Embarcadero"
+# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
+# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
+# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
+
+#elif defined(__BORLANDC__)
+# define COMPILER_ID "Borland"
+ /* __BORLANDC__ = 0xVRR */
+# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
+# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
+
+#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
+# define COMPILER_ID "Watcom"
+ /* __WATCOMC__ = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__WATCOMC__)
+# define COMPILER_ID "OpenWatcom"
+ /* __WATCOMC__ = VVRP + 1100 */
+# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__SUNPRO_C)
+# define COMPILER_ID "SunPro"
+# if __SUNPRO_C >= 0x5100
+ /* __SUNPRO_C = 0xVRRP */
+# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)
+# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)
+# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
+# else
+ /* __SUNPRO_CC = 0xVRP */
+# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)
+# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)
+# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
+# endif
+
+#elif defined(__HP_cc)
+# define COMPILER_ID "HP"
+ /* __HP_cc = VVRRPP */
+# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000)
+# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100)
+# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100)
+
+#elif defined(__DECC)
+# define COMPILER_ID "Compaq"
+ /* __DECC_VER = VVRRTPPPP */
+# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)
+# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100)
+# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000)
+
+#elif defined(__IBMC__) && defined(__COMPILER_VER__)
+# define COMPILER_ID "zOS"
+ /* __IBMC__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
+
+#elif defined(__ibmxl__) && defined(__clang__)
+# define COMPILER_ID "XLClang"
+# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
+# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
+# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
+# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
+
+
+#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800
+# define COMPILER_ID "XL"
+ /* __IBMC__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
+
+#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800
+# define COMPILER_ID "VisualAge"
+ /* __IBMC__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
+
+#elif defined(__PGI)
+# define COMPILER_ID "PGI"
+# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
+# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
+# if defined(__PGIC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
+# endif
+
+#elif defined(_CRAYC)
+# define COMPILER_ID "Cray"
+# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
+# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
+
+#elif defined(__TI_COMPILER_VERSION__)
+# define COMPILER_ID "TI"
+ /* __TI_COMPILER_VERSION__ = VVVRRRPPP */
+# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
+# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
+# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
+
+#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
+# define COMPILER_ID "Fujitsu"
+
+#elif defined(__ghs__)
+# define COMPILER_ID "GHS"
+/* __GHS_VERSION_NUMBER = VVVVRP */
+# ifdef __GHS_VERSION_NUMBER
+# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
+# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
+# endif
+
+#elif defined(__TINYC__)
+# define COMPILER_ID "TinyCC"
+
+#elif defined(__BCC__)
+# define COMPILER_ID "Bruce"
+
+#elif defined(__SCO_VERSION__)
+# define COMPILER_ID "SCO"
+
+#elif defined(__ARMCC_VERSION) && !defined(__clang__)
+# define COMPILER_ID "ARMCC"
+#if __ARMCC_VERSION >= 1000000
+ /* __ARMCC_VERSION = VRRPPPP */
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
+#else
+ /* __ARMCC_VERSION = VRPPPP */
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
+#endif
+
+
+#elif defined(__clang__) && defined(__apple_build_version__)
+# define COMPILER_ID "AppleClang"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
+
+#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
+# define COMPILER_ID "ARMClang"
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000)
+# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
+
+#elif defined(__clang__)
+# define COMPILER_ID "Clang"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+
+#elif defined(__GNUC__)
+# define COMPILER_ID "GNU"
+# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
+# if defined(__GNUC_MINOR__)
+# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(_MSC_VER)
+# define COMPILER_ID "MSVC"
+ /* _MSC_VER = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
+# if defined(_MSC_FULL_VER)
+# if _MSC_VER >= 1400
+ /* _MSC_FULL_VER = VVRRPPPPP */
+# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
+# else
+ /* _MSC_FULL_VER = VVRRPPPP */
+# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
+# endif
+# endif
+# if defined(_MSC_BUILD)
+# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
+# endif
+
+#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
+# define COMPILER_ID "ADSP"
+#if defined(__VISUALDSPVERSION__)
+ /* __VISUALDSPVERSION__ = 0xVVRRPP00 */
+# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
+# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
+# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
+#endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# define COMPILER_ID "IAR"
+# if defined(__VER__) && defined(__ICCARM__)
+# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
+# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
+# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
+# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__))
+# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
+# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
+# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
+# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# endif
+
+#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC)
+# define COMPILER_ID "SDCC"
+# if defined(__SDCC_VERSION_MAJOR)
+# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR)
+# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR)
+# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH)
+# else
+ /* SDCC = VRP */
+# define COMPILER_VERSION_MAJOR DEC(SDCC/100)
+# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(SDCC % 10)
+# endif
+
+
+/* These compilers are either not known or too old to define an
+ identification macro. Try to identify the platform and guess that
+ it is the native compiler. */
+#elif defined(__hpux) || defined(__hpua)
+# define COMPILER_ID "HP"
+
+#else /* unknown compiler */
+# define COMPILER_ID ""
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+ getting matched. Store it in a pointer rather than an array
+ because some compilers will just produce instructions to fill the
+ array rather than assigning a pointer to a static array. */
+char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
+#ifdef SIMULATE_ID
+char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
+#endif
+
+#ifdef __QNXNTO__
+char const* qnxnto = "INFO" ":" "qnxnto[]";
+#endif
+
+#if defined(__CRAYXE) || defined(__CRAYXC)
+char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
+#endif
+
+#define STRINGIFY_HELPER(X) #X
+#define STRINGIFY(X) STRINGIFY_HELPER(X)
+
+/* Identify known platforms by name. */
+#if defined(__linux) || defined(__linux__) || defined(linux)
+# define PLATFORM_ID "Linux"
+
+#elif defined(__CYGWIN__)
+# define PLATFORM_ID "Cygwin"
+
+#elif defined(__MINGW32__)
+# define PLATFORM_ID "MinGW"
+
+#elif defined(__APPLE__)
+# define PLATFORM_ID "Darwin"
+
+#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
+# define PLATFORM_ID "Windows"
+
+#elif defined(__FreeBSD__) || defined(__FreeBSD)
+# define PLATFORM_ID "FreeBSD"
+
+#elif defined(__NetBSD__) || defined(__NetBSD)
+# define PLATFORM_ID "NetBSD"
+
+#elif defined(__OpenBSD__) || defined(__OPENBSD)
+# define PLATFORM_ID "OpenBSD"
+
+#elif defined(__sun) || defined(sun)
+# define PLATFORM_ID "SunOS"
+
+#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
+# define PLATFORM_ID "AIX"
+
+#elif defined(__hpux) || defined(__hpux__)
+# define PLATFORM_ID "HP-UX"
+
+#elif defined(__HAIKU__)
+# define PLATFORM_ID "Haiku"
+
+#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
+# define PLATFORM_ID "BeOS"
+
+#elif defined(__QNX__) || defined(__QNXNTO__)
+# define PLATFORM_ID "QNX"
+
+#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
+# define PLATFORM_ID "Tru64"
+
+#elif defined(__riscos) || defined(__riscos__)
+# define PLATFORM_ID "RISCos"
+
+#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
+# define PLATFORM_ID "SINIX"
+
+#elif defined(__UNIX_SV__)
+# define PLATFORM_ID "UNIX_SV"
+
+#elif defined(__bsdos__)
+# define PLATFORM_ID "BSDOS"
+
+#elif defined(_MPRAS) || defined(MPRAS)
+# define PLATFORM_ID "MP-RAS"
+
+#elif defined(__osf) || defined(__osf__)
+# define PLATFORM_ID "OSF1"
+
+#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
+# define PLATFORM_ID "SCO_SV"
+
+#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
+# define PLATFORM_ID "ULTRIX"
+
+#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
+# define PLATFORM_ID "Xenix"
+
+#elif defined(__WATCOMC__)
+# if defined(__LINUX__)
+# define PLATFORM_ID "Linux"
+
+# elif defined(__DOS__)
+# define PLATFORM_ID "DOS"
+
+# elif defined(__OS2__)
+# define PLATFORM_ID "OS2"
+
+# elif defined(__WINDOWS__)
+# define PLATFORM_ID "Windows3x"
+
+# else /* unknown platform */
+# define PLATFORM_ID
+# endif
+
+#elif defined(__INTEGRITY)
+# if defined(INT_178B)
+# define PLATFORM_ID "Integrity178"
+
+# else /* regular Integrity */
+# define PLATFORM_ID "Integrity"
+# endif
+
+#else /* unknown platform */
+# define PLATFORM_ID
+
+#endif
+
+/* For windows compilers MSVC and Intel we can determine
+ the architecture of the compiler being used. This is because
+ the compilers do not have flags that can change the architecture,
+ but rather depend on which compiler is being used
+*/
+#if defined(_WIN32) && defined(_MSC_VER)
+# if defined(_M_IA64)
+# define ARCHITECTURE_ID "IA64"
+
+# elif defined(_M_X64) || defined(_M_AMD64)
+# define ARCHITECTURE_ID "x64"
+
+# elif defined(_M_IX86)
+# define ARCHITECTURE_ID "X86"
+
+# elif defined(_M_ARM64)
+# define ARCHITECTURE_ID "ARM64"
+
+# elif defined(_M_ARM)
+# if _M_ARM == 4
+# define ARCHITECTURE_ID "ARMV4I"
+# elif _M_ARM == 5
+# define ARCHITECTURE_ID "ARMV5I"
+# else
+# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
+# endif
+
+# elif defined(_M_MIPS)
+# define ARCHITECTURE_ID "MIPS"
+
+# elif defined(_M_SH)
+# define ARCHITECTURE_ID "SHx"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__WATCOMC__)
+# if defined(_M_I86)
+# define ARCHITECTURE_ID "I86"
+
+# elif defined(_M_IX86)
+# define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# if defined(__ICCARM__)
+# define ARCHITECTURE_ID "ARM"
+
+# elif defined(__ICCRX__)
+# define ARCHITECTURE_ID "RX"
+
+# elif defined(__ICCRH850__)
+# define ARCHITECTURE_ID "RH850"
+
+# elif defined(__ICCRL78__)
+# define ARCHITECTURE_ID "RL78"
+
+# elif defined(__ICCRISCV__)
+# define ARCHITECTURE_ID "RISCV"
+
+# elif defined(__ICCAVR__)
+# define ARCHITECTURE_ID "AVR"
+
+# elif defined(__ICC430__)
+# define ARCHITECTURE_ID "MSP430"
+
+# elif defined(__ICCV850__)
+# define ARCHITECTURE_ID "V850"
+
+# elif defined(__ICC8051__)
+# define ARCHITECTURE_ID "8051"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__ghs__)
+# if defined(__PPC64__)
+# define ARCHITECTURE_ID "PPC64"
+
+# elif defined(__ppc__)
+# define ARCHITECTURE_ID "PPC"
+
+# elif defined(__ARM__)
+# define ARCHITECTURE_ID "ARM"
+
+# elif defined(__x86_64__)
+# define ARCHITECTURE_ID "x64"
+
+# elif defined(__i386__)
+# define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+#else
+# define ARCHITECTURE_ID
+#endif
+
+/* Convert integer to decimal digit literals. */
+#define DEC(n) \
+ ('0' + (((n) / 10000000)%10)), \
+ ('0' + (((n) / 1000000)%10)), \
+ ('0' + (((n) / 100000)%10)), \
+ ('0' + (((n) / 10000)%10)), \
+ ('0' + (((n) / 1000)%10)), \
+ ('0' + (((n) / 100)%10)), \
+ ('0' + (((n) / 10)%10)), \
+ ('0' + ((n) % 10))
+
+/* Convert integer to hex digit literals. */
+#define HEX(n) \
+ ('0' + ((n)>>28 & 0xF)), \
+ ('0' + ((n)>>24 & 0xF)), \
+ ('0' + ((n)>>20 & 0xF)), \
+ ('0' + ((n)>>16 & 0xF)), \
+ ('0' + ((n)>>12 & 0xF)), \
+ ('0' + ((n)>>8 & 0xF)), \
+ ('0' + ((n)>>4 & 0xF)), \
+ ('0' + ((n) & 0xF))
+
+/* Construct a string literal encoding the version number components. */
+#ifdef COMPILER_VERSION_MAJOR
+char const info_version[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
+ COMPILER_VERSION_MAJOR,
+# ifdef COMPILER_VERSION_MINOR
+ '.', COMPILER_VERSION_MINOR,
+# ifdef COMPILER_VERSION_PATCH
+ '.', COMPILER_VERSION_PATCH,
+# ifdef COMPILER_VERSION_TWEAK
+ '.', COMPILER_VERSION_TWEAK,
+# endif
+# endif
+# endif
+ ']','\0'};
+#endif
+
+/* Construct a string literal encoding the internal version number. */
+#ifdef COMPILER_VERSION_INTERNAL
+char const info_version_internal[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
+ 'i','n','t','e','r','n','a','l','[',
+ COMPILER_VERSION_INTERNAL,']','\0'};
+#endif
+
+/* Construct a string literal encoding the version number components. */
+#ifdef SIMULATE_VERSION_MAJOR
+char const info_simulate_version[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
+ SIMULATE_VERSION_MAJOR,
+# ifdef SIMULATE_VERSION_MINOR
+ '.', SIMULATE_VERSION_MINOR,
+# ifdef SIMULATE_VERSION_PATCH
+ '.', SIMULATE_VERSION_PATCH,
+# ifdef SIMULATE_VERSION_TWEAK
+ '.', SIMULATE_VERSION_TWEAK,
+# endif
+# endif
+# endif
+ ']','\0'};
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+ getting matched. Store it in a pointer rather than an array
+ because some compilers will just produce instructions to fill the
+ array rather than assigning a pointer to a static array. */
+char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
+char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
+
+
+
+
+#if !defined(__STDC__)
+# if (defined(_MSC_VER) && !defined(__clang__)) \
+ || (defined(__ibmxl__) || defined(__IBMC__))
+# define C_DIALECT "90"
+# else
+# define C_DIALECT
+# endif
+#elif __STDC_VERSION__ >= 201000L
+# define C_DIALECT "11"
+#elif __STDC_VERSION__ >= 199901L
+# define C_DIALECT "99"
+#else
+# define C_DIALECT "90"
+#endif
+const char* info_language_dialect_default =
+ "INFO" ":" "dialect_default[" C_DIALECT "]";
+
+/*--------------------------------------------------------------------------*/
+
+#ifdef ID_VOID_MAIN
+void main() {}
+#else
+# if defined(__CLASSIC_C__)
+int main(argc, argv) int argc; char *argv[];
+# else
+int main(int argc, char* argv[])
+# endif
+{
+ int require = 0;
+ require += info_compiler[argc];
+ require += info_platform[argc];
+ require += info_arch[argc];
+#ifdef COMPILER_VERSION_MAJOR
+ require += info_version[argc];
+#endif
+#ifdef COMPILER_VERSION_INTERNAL
+ require += info_version_internal[argc];
+#endif
+#ifdef SIMULATE_ID
+ require += info_simulate[argc];
+#endif
+#ifdef SIMULATE_VERSION_MAJOR
+ require += info_simulate_version[argc];
+#endif
+#if defined(__CRAYXE) || defined(__CRAYXC)
+ require += info_cray[argc];
+#endif
+ require += info_language_dialect_default[argc];
+ (void)argv;
+ return require;
+}
+#endif
diff --git a/management-queues/build/CMakeFiles/3.16.3/CompilerIdCXX/CMakeCXXCompilerId.cpp b/management-queues/build/CMakeFiles/3.16.3/CompilerIdCXX/CMakeCXXCompilerId.cpp
new file mode 100644
index 0000000..69cfdba
--- /dev/null
+++ b/management-queues/build/CMakeFiles/3.16.3/CompilerIdCXX/CMakeCXXCompilerId.cpp
@@ -0,0 +1,660 @@
+/* This source file must have a .cpp extension so that all C++ compilers
+ recognize the extension without flags. Borland does not know .cxx for
+ example. */
+#ifndef __cplusplus
+# error "A C compiler has been selected for C++."
+#endif
+
+
+/* Version number components: V=Version, R=Revision, P=Patch
+ Version date components: YYYY=Year, MM=Month, DD=Day */
+
+#if defined(__COMO__)
+# define COMPILER_ID "Comeau"
+ /* __COMO_VERSION__ = VRR */
+# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100)
+# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100)
+
+#elif defined(__INTEL_COMPILER) || defined(__ICC)
+# define COMPILER_ID "Intel"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# if defined(__GNUC__)
+# define SIMULATE_ID "GNU"
+# endif
+ /* __INTEL_COMPILER = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
+# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
+# if defined(__INTEL_COMPILER_UPDATE)
+# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
+# else
+# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
+# endif
+# if defined(__INTEL_COMPILER_BUILD_DATE)
+ /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
+# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
+# endif
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# if defined(__GNUC__)
+# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
+# elif defined(__GNUG__)
+# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
+# endif
+# if defined(__GNUC_MINOR__)
+# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(__PATHCC__)
+# define COMPILER_ID "PathScale"
+# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
+# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
+# if defined(__PATHCC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
+# endif
+
+#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
+# define COMPILER_ID "Embarcadero"
+# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
+# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
+# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
+
+#elif defined(__BORLANDC__)
+# define COMPILER_ID "Borland"
+ /* __BORLANDC__ = 0xVRR */
+# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
+# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
+
+#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
+# define COMPILER_ID "Watcom"
+ /* __WATCOMC__ = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__WATCOMC__)
+# define COMPILER_ID "OpenWatcom"
+ /* __WATCOMC__ = VVRP + 1100 */
+# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__SUNPRO_CC)
+# define COMPILER_ID "SunPro"
+# if __SUNPRO_CC >= 0x5100
+ /* __SUNPRO_CC = 0xVRRP */
+# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
+# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
+# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
+# else
+ /* __SUNPRO_CC = 0xVRP */
+# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
+# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
+# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
+# endif
+
+#elif defined(__HP_aCC)
+# define COMPILER_ID "HP"
+ /* __HP_aCC = VVRRPP */
+# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
+# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
+# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100)
+
+#elif defined(__DECCXX)
+# define COMPILER_ID "Compaq"
+ /* __DECCXX_VER = VVRRTPPPP */
+# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
+# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
+# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
+
+#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
+# define COMPILER_ID "zOS"
+ /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
+
+#elif defined(__ibmxl__) && defined(__clang__)
+# define COMPILER_ID "XLClang"
+# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
+# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
+# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
+# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
+
+
+#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
+# define COMPILER_ID "XL"
+ /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
+
+#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
+# define COMPILER_ID "VisualAge"
+ /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
+
+#elif defined(__PGI)
+# define COMPILER_ID "PGI"
+# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
+# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
+# if defined(__PGIC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
+# endif
+
+#elif defined(_CRAYC)
+# define COMPILER_ID "Cray"
+# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
+# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
+
+#elif defined(__TI_COMPILER_VERSION__)
+# define COMPILER_ID "TI"
+ /* __TI_COMPILER_VERSION__ = VVVRRRPPP */
+# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
+# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
+# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
+
+#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
+# define COMPILER_ID "Fujitsu"
+
+#elif defined(__ghs__)
+# define COMPILER_ID "GHS"
+/* __GHS_VERSION_NUMBER = VVVVRP */
+# ifdef __GHS_VERSION_NUMBER
+# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
+# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
+# endif
+
+#elif defined(__SCO_VERSION__)
+# define COMPILER_ID "SCO"
+
+#elif defined(__ARMCC_VERSION) && !defined(__clang__)
+# define COMPILER_ID "ARMCC"
+#if __ARMCC_VERSION >= 1000000
+ /* __ARMCC_VERSION = VRRPPPP */
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
+#else
+ /* __ARMCC_VERSION = VRPPPP */
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
+#endif
+
+
+#elif defined(__clang__) && defined(__apple_build_version__)
+# define COMPILER_ID "AppleClang"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
+
+#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
+# define COMPILER_ID "ARMClang"
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000)
+# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
+
+#elif defined(__clang__)
+# define COMPILER_ID "Clang"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+
+#elif defined(__GNUC__) || defined(__GNUG__)
+# define COMPILER_ID "GNU"
+# if defined(__GNUC__)
+# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
+# else
+# define COMPILER_VERSION_MAJOR DEC(__GNUG__)
+# endif
+# if defined(__GNUC_MINOR__)
+# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(_MSC_VER)
+# define COMPILER_ID "MSVC"
+ /* _MSC_VER = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
+# if defined(_MSC_FULL_VER)
+# if _MSC_VER >= 1400
+ /* _MSC_FULL_VER = VVRRPPPPP */
+# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
+# else
+ /* _MSC_FULL_VER = VVRRPPPP */
+# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
+# endif
+# endif
+# if defined(_MSC_BUILD)
+# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
+# endif
+
+#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
+# define COMPILER_ID "ADSP"
+#if defined(__VISUALDSPVERSION__)
+ /* __VISUALDSPVERSION__ = 0xVVRRPP00 */
+# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
+# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
+# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
+#endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# define COMPILER_ID "IAR"
+# if defined(__VER__) && defined(__ICCARM__)
+# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
+# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
+# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
+# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__))
+# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
+# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
+# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
+# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# endif
+
+
+/* These compilers are either not known or too old to define an
+ identification macro. Try to identify the platform and guess that
+ it is the native compiler. */
+#elif defined(__hpux) || defined(__hpua)
+# define COMPILER_ID "HP"
+
+#else /* unknown compiler */
+# define COMPILER_ID ""
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+ getting matched. Store it in a pointer rather than an array
+ because some compilers will just produce instructions to fill the
+ array rather than assigning a pointer to a static array. */
+char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
+#ifdef SIMULATE_ID
+char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
+#endif
+
+#ifdef __QNXNTO__
+char const* qnxnto = "INFO" ":" "qnxnto[]";
+#endif
+
+#if defined(__CRAYXE) || defined(__CRAYXC)
+char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
+#endif
+
+#define STRINGIFY_HELPER(X) #X
+#define STRINGIFY(X) STRINGIFY_HELPER(X)
+
+/* Identify known platforms by name. */
+#if defined(__linux) || defined(__linux__) || defined(linux)
+# define PLATFORM_ID "Linux"
+
+#elif defined(__CYGWIN__)
+# define PLATFORM_ID "Cygwin"
+
+#elif defined(__MINGW32__)
+# define PLATFORM_ID "MinGW"
+
+#elif defined(__APPLE__)
+# define PLATFORM_ID "Darwin"
+
+#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
+# define PLATFORM_ID "Windows"
+
+#elif defined(__FreeBSD__) || defined(__FreeBSD)
+# define PLATFORM_ID "FreeBSD"
+
+#elif defined(__NetBSD__) || defined(__NetBSD)
+# define PLATFORM_ID "NetBSD"
+
+#elif defined(__OpenBSD__) || defined(__OPENBSD)
+# define PLATFORM_ID "OpenBSD"
+
+#elif defined(__sun) || defined(sun)
+# define PLATFORM_ID "SunOS"
+
+#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
+# define PLATFORM_ID "AIX"
+
+#elif defined(__hpux) || defined(__hpux__)
+# define PLATFORM_ID "HP-UX"
+
+#elif defined(__HAIKU__)
+# define PLATFORM_ID "Haiku"
+
+#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
+# define PLATFORM_ID "BeOS"
+
+#elif defined(__QNX__) || defined(__QNXNTO__)
+# define PLATFORM_ID "QNX"
+
+#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
+# define PLATFORM_ID "Tru64"
+
+#elif defined(__riscos) || defined(__riscos__)
+# define PLATFORM_ID "RISCos"
+
+#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
+# define PLATFORM_ID "SINIX"
+
+#elif defined(__UNIX_SV__)
+# define PLATFORM_ID "UNIX_SV"
+
+#elif defined(__bsdos__)
+# define PLATFORM_ID "BSDOS"
+
+#elif defined(_MPRAS) || defined(MPRAS)
+# define PLATFORM_ID "MP-RAS"
+
+#elif defined(__osf) || defined(__osf__)
+# define PLATFORM_ID "OSF1"
+
+#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
+# define PLATFORM_ID "SCO_SV"
+
+#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
+# define PLATFORM_ID "ULTRIX"
+
+#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
+# define PLATFORM_ID "Xenix"
+
+#elif defined(__WATCOMC__)
+# if defined(__LINUX__)
+# define PLATFORM_ID "Linux"
+
+# elif defined(__DOS__)
+# define PLATFORM_ID "DOS"
+
+# elif defined(__OS2__)
+# define PLATFORM_ID "OS2"
+
+# elif defined(__WINDOWS__)
+# define PLATFORM_ID "Windows3x"
+
+# else /* unknown platform */
+# define PLATFORM_ID
+# endif
+
+#elif defined(__INTEGRITY)
+# if defined(INT_178B)
+# define PLATFORM_ID "Integrity178"
+
+# else /* regular Integrity */
+# define PLATFORM_ID "Integrity"
+# endif
+
+#else /* unknown platform */
+# define PLATFORM_ID
+
+#endif
+
+/* For windows compilers MSVC and Intel we can determine
+ the architecture of the compiler being used. This is because
+ the compilers do not have flags that can change the architecture,
+ but rather depend on which compiler is being used
+*/
+#if defined(_WIN32) && defined(_MSC_VER)
+# if defined(_M_IA64)
+# define ARCHITECTURE_ID "IA64"
+
+# elif defined(_M_X64) || defined(_M_AMD64)
+# define ARCHITECTURE_ID "x64"
+
+# elif defined(_M_IX86)
+# define ARCHITECTURE_ID "X86"
+
+# elif defined(_M_ARM64)
+# define ARCHITECTURE_ID "ARM64"
+
+# elif defined(_M_ARM)
+# if _M_ARM == 4
+# define ARCHITECTURE_ID "ARMV4I"
+# elif _M_ARM == 5
+# define ARCHITECTURE_ID "ARMV5I"
+# else
+# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
+# endif
+
+# elif defined(_M_MIPS)
+# define ARCHITECTURE_ID "MIPS"
+
+# elif defined(_M_SH)
+# define ARCHITECTURE_ID "SHx"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__WATCOMC__)
+# if defined(_M_I86)
+# define ARCHITECTURE_ID "I86"
+
+# elif defined(_M_IX86)
+# define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# if defined(__ICCARM__)
+# define ARCHITECTURE_ID "ARM"
+
+# elif defined(__ICCRX__)
+# define ARCHITECTURE_ID "RX"
+
+# elif defined(__ICCRH850__)
+# define ARCHITECTURE_ID "RH850"
+
+# elif defined(__ICCRL78__)
+# define ARCHITECTURE_ID "RL78"
+
+# elif defined(__ICCRISCV__)
+# define ARCHITECTURE_ID "RISCV"
+
+# elif defined(__ICCAVR__)
+# define ARCHITECTURE_ID "AVR"
+
+# elif defined(__ICC430__)
+# define ARCHITECTURE_ID "MSP430"
+
+# elif defined(__ICCV850__)
+# define ARCHITECTURE_ID "V850"
+
+# elif defined(__ICC8051__)
+# define ARCHITECTURE_ID "8051"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__ghs__)
+# if defined(__PPC64__)
+# define ARCHITECTURE_ID "PPC64"
+
+# elif defined(__ppc__)
+# define ARCHITECTURE_ID "PPC"
+
+# elif defined(__ARM__)
+# define ARCHITECTURE_ID "ARM"
+
+# elif defined(__x86_64__)
+# define ARCHITECTURE_ID "x64"
+
+# elif defined(__i386__)
+# define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+#else
+# define ARCHITECTURE_ID
+#endif
+
+/* Convert integer to decimal digit literals. */
+#define DEC(n) \
+ ('0' + (((n) / 10000000)%10)), \
+ ('0' + (((n) / 1000000)%10)), \
+ ('0' + (((n) / 100000)%10)), \
+ ('0' + (((n) / 10000)%10)), \
+ ('0' + (((n) / 1000)%10)), \
+ ('0' + (((n) / 100)%10)), \
+ ('0' + (((n) / 10)%10)), \
+ ('0' + ((n) % 10))
+
+/* Convert integer to hex digit literals. */
+#define HEX(n) \
+ ('0' + ((n)>>28 & 0xF)), \
+ ('0' + ((n)>>24 & 0xF)), \
+ ('0' + ((n)>>20 & 0xF)), \
+ ('0' + ((n)>>16 & 0xF)), \
+ ('0' + ((n)>>12 & 0xF)), \
+ ('0' + ((n)>>8 & 0xF)), \
+ ('0' + ((n)>>4 & 0xF)), \
+ ('0' + ((n) & 0xF))
+
+/* Construct a string literal encoding the version number components. */
+#ifdef COMPILER_VERSION_MAJOR
+char const info_version[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
+ COMPILER_VERSION_MAJOR,
+# ifdef COMPILER_VERSION_MINOR
+ '.', COMPILER_VERSION_MINOR,
+# ifdef COMPILER_VERSION_PATCH
+ '.', COMPILER_VERSION_PATCH,
+# ifdef COMPILER_VERSION_TWEAK
+ '.', COMPILER_VERSION_TWEAK,
+# endif
+# endif
+# endif
+ ']','\0'};
+#endif
+
+/* Construct a string literal encoding the internal version number. */
+#ifdef COMPILER_VERSION_INTERNAL
+char const info_version_internal[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
+ 'i','n','t','e','r','n','a','l','[',
+ COMPILER_VERSION_INTERNAL,']','\0'};
+#endif
+
+/* Construct a string literal encoding the version number components. */
+#ifdef SIMULATE_VERSION_MAJOR
+char const info_simulate_version[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
+ SIMULATE_VERSION_MAJOR,
+# ifdef SIMULATE_VERSION_MINOR
+ '.', SIMULATE_VERSION_MINOR,
+# ifdef SIMULATE_VERSION_PATCH
+ '.', SIMULATE_VERSION_PATCH,
+# ifdef SIMULATE_VERSION_TWEAK
+ '.', SIMULATE_VERSION_TWEAK,
+# endif
+# endif
+# endif
+ ']','\0'};
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+ getting matched. Store it in a pointer rather than an array
+ because some compilers will just produce instructions to fill the
+ array rather than assigning a pointer to a static array. */
+char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
+char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
+
+
+
+
+#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L
+# if defined(__INTEL_CXX11_MODE__)
+# if defined(__cpp_aggregate_nsdmi)
+# define CXX_STD 201402L
+# else
+# define CXX_STD 201103L
+# endif
+# else
+# define CXX_STD 199711L
+# endif
+#elif defined(_MSC_VER) && defined(_MSVC_LANG)
+# define CXX_STD _MSVC_LANG
+#else
+# define CXX_STD __cplusplus
+#endif
+
+const char* info_language_dialect_default = "INFO" ":" "dialect_default["
+#if CXX_STD > 201703L
+ "20"
+#elif CXX_STD >= 201703L
+ "17"
+#elif CXX_STD >= 201402L
+ "14"
+#elif CXX_STD >= 201103L
+ "11"
+#else
+ "98"
+#endif
+"]";
+
+/*--------------------------------------------------------------------------*/
+
+int main(int argc, char* argv[])
+{
+ int require = 0;
+ require += info_compiler[argc];
+ require += info_platform[argc];
+#ifdef COMPILER_VERSION_MAJOR
+ require += info_version[argc];
+#endif
+#ifdef COMPILER_VERSION_INTERNAL
+ require += info_version_internal[argc];
+#endif
+#ifdef SIMULATE_ID
+ require += info_simulate[argc];
+#endif
+#ifdef SIMULATE_VERSION_MAJOR
+ require += info_simulate_version[argc];
+#endif
+#if defined(__CRAYXE) || defined(__CRAYXC)
+ require += info_cray[argc];
+#endif
+ require += info_language_dialect_default[argc];
+ (void)argv;
+ return require;
+}
diff --git a/management-queues/build/CMakeFiles/CMakeDirectoryInformation.cmake b/management-queues/build/CMakeFiles/CMakeDirectoryInformation.cmake
new file mode 100644
index 0000000..630dcfc
--- /dev/null
+++ b/management-queues/build/CMakeFiles/CMakeDirectoryInformation.cmake
@@ -0,0 +1,16 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+# Relative path conversion top directories.
+set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues")
+set(CMAKE_RELATIVE_PATH_TOP_BINARY "/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build")
+
+# Force unix paths in dependencies.
+set(CMAKE_FORCE_UNIX_PATHS 1)
+
+
+# The C and CXX include file regular expressions for this directory.
+set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
+set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
+set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
+set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})
diff --git a/management-queues/build/CMakeFiles/Makefile.cmake b/management-queues/build/CMakeFiles/Makefile.cmake
new file mode 100644
index 0000000..dc56eee
--- /dev/null
+++ b/management-queues/build/CMakeFiles/Makefile.cmake
@@ -0,0 +1,128 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+# The generator used is:
+set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles")
+
+# The top level Makefile was generated from the following files:
+set(CMAKE_MAKEFILE_DEPENDS
+ "CMakeCache.txt"
+ "../CMakeLists.txt"
+ "CMakeFiles/3.16.3/CMakeCCompiler.cmake"
+ "CMakeFiles/3.16.3/CMakeCXXCompiler.cmake"
+ "CMakeFiles/3.16.3/CMakeSystem.cmake"
+ "/usr/share/cmake-3.16/Modules/CMakeCCompiler.cmake.in"
+ "/usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c"
+ "/usr/share/cmake-3.16/Modules/CMakeCInformation.cmake"
+ "/usr/share/cmake-3.16/Modules/CMakeCXXCompiler.cmake.in"
+ "/usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp"
+ "/usr/share/cmake-3.16/Modules/CMakeCXXInformation.cmake"
+ "/usr/share/cmake-3.16/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake"
+ "/usr/share/cmake-3.16/Modules/CMakeCommonLanguageInclude.cmake"
+ "/usr/share/cmake-3.16/Modules/CMakeCompilerIdDetection.cmake"
+ "/usr/share/cmake-3.16/Modules/CMakeDetermineCCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/CMakeDetermineCXXCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/CMakeDetermineCompileFeatures.cmake"
+ "/usr/share/cmake-3.16/Modules/CMakeDetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/CMakeDetermineCompilerABI.cmake"
+ "/usr/share/cmake-3.16/Modules/CMakeDetermineCompilerId.cmake"
+ "/usr/share/cmake-3.16/Modules/CMakeDetermineSystem.cmake"
+ "/usr/share/cmake-3.16/Modules/CMakeFindBinUtils.cmake"
+ "/usr/share/cmake-3.16/Modules/CMakeGenericSystem.cmake"
+ "/usr/share/cmake-3.16/Modules/CMakeInitializeConfigs.cmake"
+ "/usr/share/cmake-3.16/Modules/CMakeLanguageInformation.cmake"
+ "/usr/share/cmake-3.16/Modules/CMakeParseImplicitIncludeInfo.cmake"
+ "/usr/share/cmake-3.16/Modules/CMakeParseImplicitLinkInfo.cmake"
+ "/usr/share/cmake-3.16/Modules/CMakeSystem.cmake.in"
+ "/usr/share/cmake-3.16/Modules/CMakeSystemSpecificInformation.cmake"
+ "/usr/share/cmake-3.16/Modules/CMakeSystemSpecificInitialize.cmake"
+ "/usr/share/cmake-3.16/Modules/CMakeTestCCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/CMakeTestCXXCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/CMakeTestCompilerCommon.cmake"
+ "/usr/share/cmake-3.16/Modules/CMakeUnixFindMake.cmake"
+ "/usr/share/cmake-3.16/Modules/CheckCSourceCompiles.cmake"
+ "/usr/share/cmake-3.16/Modules/CheckFunctionExists.c"
+ "/usr/share/cmake-3.16/Modules/CheckIncludeFile.c.in"
+ "/usr/share/cmake-3.16/Modules/CheckIncludeFile.cmake"
+ "/usr/share/cmake-3.16/Modules/CheckLibraryExists.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/ADSP-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/ARMCC-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/ARMClang-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/AppleClang-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/Borland-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/Bruce-C-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/Clang-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/Clang-DetermineCompilerInternal.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/Compaq-C-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/Cray-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/Embarcadero-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/Fujitsu-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/GHS-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/GNU-C-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/GNU-C.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/GNU-CXX.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/GNU-FindBinUtils.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/GNU.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/HP-C-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/HP-CXX-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/IAR-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/Intel-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/MSVC-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/NVIDIA-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/PGI-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/PathScale-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/SCO-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/SDCC-C-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/SunPro-C-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/TI-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/Watcom-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/XL-C-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/XL-CXX-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/XLClang-C-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/zOS-C-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake"
+ "/usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake"
+ "/usr/share/cmake-3.16/Modules/FindPackageMessage.cmake"
+ "/usr/share/cmake-3.16/Modules/FindThreads.cmake"
+ "/usr/share/cmake-3.16/Modules/Internal/CMakeCheckCompilerFlag.cmake"
+ "/usr/share/cmake-3.16/Modules/Internal/FeatureTesting.cmake"
+ "/usr/share/cmake-3.16/Modules/Platform/Linux-Determine-CXX.cmake"
+ "/usr/share/cmake-3.16/Modules/Platform/Linux-GNU-C.cmake"
+ "/usr/share/cmake-3.16/Modules/Platform/Linux-GNU-CXX.cmake"
+ "/usr/share/cmake-3.16/Modules/Platform/Linux-GNU.cmake"
+ "/usr/share/cmake-3.16/Modules/Platform/Linux.cmake"
+ "/usr/share/cmake-3.16/Modules/Platform/UnixPaths.cmake"
+ )
+
+# The corresponding makefile is:
+set(CMAKE_MAKEFILE_OUTPUTS
+ "Makefile"
+ "CMakeFiles/cmake.check_cache"
+ )
+
+# Byproducts of CMake generate step:
+set(CMAKE_MAKEFILE_PRODUCTS
+ "CMakeFiles/3.16.3/CMakeSystem.cmake"
+ "CMakeFiles/3.16.3/CMakeCCompiler.cmake"
+ "CMakeFiles/3.16.3/CMakeCXXCompiler.cmake"
+ "CMakeFiles/3.16.3/CMakeCCompiler.cmake"
+ "CMakeFiles/3.16.3/CMakeCXXCompiler.cmake"
+ "CMakeFiles/CMakeDirectoryInformation.cmake"
+ )
+
+# Dependency information for all targets:
+set(CMAKE_DEPEND_INFO_FILES
+ "CMakeFiles/QueuesManagment.dir/DependInfo.cmake"
+ )
diff --git a/management-queues/build/CMakeFiles/Makefile2 b/management-queues/build/CMakeFiles/Makefile2
new file mode 100644
index 0000000..b306873
--- /dev/null
+++ b/management-queues/build/CMakeFiles/Makefile2
@@ -0,0 +1,106 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+# Default target executed when no arguments are given to make.
+default_target: all
+
+.PHONY : default_target
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build
+
+#=============================================================================
+# Directory level rules for the build root directory
+
+# The main recursive "all" target.
+all: CMakeFiles/QueuesManagment.dir/all
+
+.PHONY : all
+
+# The main recursive "preinstall" target.
+preinstall:
+
+.PHONY : preinstall
+
+# The main recursive "clean" target.
+clean: CMakeFiles/QueuesManagment.dir/clean
+
+.PHONY : clean
+
+#=============================================================================
+# Target rules for target CMakeFiles/QueuesManagment.dir
+
+# All Build rule for target.
+CMakeFiles/QueuesManagment.dir/all:
+ $(MAKE) -f CMakeFiles/QueuesManagment.dir/build.make CMakeFiles/QueuesManagment.dir/depend
+ $(MAKE) -f CMakeFiles/QueuesManagment.dir/build.make CMakeFiles/QueuesManagment.dir/build
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build/CMakeFiles --progress-num=1,2,3,4,5,6,7,8,9 "Built target QueuesManagment"
+.PHONY : CMakeFiles/QueuesManagment.dir/all
+
+# Build rule for subdir invocation for target.
+CMakeFiles/QueuesManagment.dir/rule: cmake_check_build_system
+ $(CMAKE_COMMAND) -E cmake_progress_start /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build/CMakeFiles 9
+ $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/QueuesManagment.dir/all
+ $(CMAKE_COMMAND) -E cmake_progress_start /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build/CMakeFiles 0
+.PHONY : CMakeFiles/QueuesManagment.dir/rule
+
+# Convenience name for target.
+QueuesManagment: CMakeFiles/QueuesManagment.dir/rule
+
+.PHONY : QueuesManagment
+
+# clean rule for target.
+CMakeFiles/QueuesManagment.dir/clean:
+ $(MAKE) -f CMakeFiles/QueuesManagment.dir/build.make CMakeFiles/QueuesManagment.dir/clean
+.PHONY : CMakeFiles/QueuesManagment.dir/clean
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+ $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+.PHONY : cmake_check_build_system
+
diff --git a/management-queues/build/CMakeFiles/QueuesManagment.dir/CXX.includecache b/management-queues/build/CMakeFiles/QueuesManagment.dir/CXX.includecache
new file mode 100644
index 0000000..3395fd4
--- /dev/null
+++ b/management-queues/build/CMakeFiles/QueuesManagment.dir/CXX.includecache
@@ -0,0 +1,98 @@
+#IncludeRegexLine: ^[ ]*[#%][ ]*(include|import)[ ]*[<"]([^">]+)([">])
+
+#IncludeRegexScan: ^.*$
+
+#IncludeRegexComplain: ^$
+
+#IncludeRegexTransform:
+
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Message.cpp
+Message.h
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Message.h
+dataOfMessage.h
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/dataOfMessage.h
+cstddef
+-
+
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Message.h
+Priority.h
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Priority.h
+MessageType.h
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/MessageType.h
+MessageParams.h
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/MessageParams.h
+
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/MessageParams.cpp
+MessageParams.h
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/MessageParams.h
+
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/MessageParams.h
+
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/MessageType.cpp
+MessageType.h
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/MessageType.h
+
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/MessageType.h
+
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Priority.cpp
+Priority.h
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Priority.h
+
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Priority.h
+
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Queue.cpp
+Queue.h
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Queue.h
+iostream
+-
+stdexcept
+-
+mutex
+-
+
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Queue.h
+iostream
+-
+stdexcept
+-
+mutex
+-
+Message.h
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Message.h
+Priority.h
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Priority.h
+vector
+-
+
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Source.cpp
+iostream
+-
+thread
+-
+vector
+-
+mutex
+-
+Message.h
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Message.h
+Queue.h
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Queue.h
+Priority.h
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Priority.h
+map
+-
+
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Tests.cpp
+
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/dataOfMessage.cpp
+
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/dataOfMessage.h
+MessageType.h
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/MessageType.h
+Priority.h
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Priority.h
+Message.h
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Message.h
+cstddef
+-
+
diff --git a/management-queues/build/CMakeFiles/QueuesManagment.dir/DependInfo.cmake b/management-queues/build/CMakeFiles/QueuesManagment.dir/DependInfo.cmake
new file mode 100644
index 0000000..f75267c
--- /dev/null
+++ b/management-queues/build/CMakeFiles/QueuesManagment.dir/DependInfo.cmake
@@ -0,0 +1,28 @@
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+ "CXX"
+ )
+# The set of files for implicit dependencies of each language:
+set(CMAKE_DEPENDS_CHECK_CXX
+ "/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Message.cpp" "/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build/CMakeFiles/QueuesManagment.dir/management-queues/Message.cpp.o"
+ "/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/MessageParams.cpp" "/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build/CMakeFiles/QueuesManagment.dir/management-queues/MessageParams.cpp.o"
+ "/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/MessageType.cpp" "/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build/CMakeFiles/QueuesManagment.dir/management-queues/MessageType.cpp.o"
+ "/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Priority.cpp" "/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build/CMakeFiles/QueuesManagment.dir/management-queues/Priority.cpp.o"
+ "/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Queue.cpp" "/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build/CMakeFiles/QueuesManagment.dir/management-queues/Queue.cpp.o"
+ "/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Source.cpp" "/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build/CMakeFiles/QueuesManagment.dir/management-queues/Source.cpp.o"
+ "/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Tests.cpp" "/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build/CMakeFiles/QueuesManagment.dir/management-queues/Tests.cpp.o"
+ "/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/dataOfMessage.cpp" "/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build/CMakeFiles/QueuesManagment.dir/management-queues/dataOfMessage.cpp.o"
+ )
+set(CMAKE_CXX_COMPILER_ID "GNU")
+
+# The include file search paths:
+set(CMAKE_CXX_TARGET_INCLUDE_PATH
+ "../"
+ )
+
+# Targets to which this target links.
+set(CMAKE_TARGET_LINKED_INFO_FILES
+ )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")
diff --git a/management-queues/build/CMakeFiles/QueuesManagment.dir/build.make b/management-queues/build/CMakeFiles/QueuesManagment.dir/build.make
new file mode 100644
index 0000000..0e2678f
--- /dev/null
+++ b/management-queues/build/CMakeFiles/QueuesManagment.dir/build.make
@@ -0,0 +1,203 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build
+
+# Include any dependencies generated for this target.
+include CMakeFiles/QueuesManagment.dir/depend.make
+
+# Include the progress variables for this target.
+include CMakeFiles/QueuesManagment.dir/progress.make
+
+# Include the compile flags for this target's objects.
+include CMakeFiles/QueuesManagment.dir/flags.make
+
+CMakeFiles/QueuesManagment.dir/management-queues/Message.cpp.o: CMakeFiles/QueuesManagment.dir/flags.make
+CMakeFiles/QueuesManagment.dir/management-queues/Message.cpp.o: ../management-queues/Message.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/QueuesManagment.dir/management-queues/Message.cpp.o"
+ /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/QueuesManagment.dir/management-queues/Message.cpp.o -c /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Message.cpp
+
+CMakeFiles/QueuesManagment.dir/management-queues/Message.cpp.i: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/QueuesManagment.dir/management-queues/Message.cpp.i"
+ /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Message.cpp > CMakeFiles/QueuesManagment.dir/management-queues/Message.cpp.i
+
+CMakeFiles/QueuesManagment.dir/management-queues/Message.cpp.s: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/QueuesManagment.dir/management-queues/Message.cpp.s"
+ /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Message.cpp -o CMakeFiles/QueuesManagment.dir/management-queues/Message.cpp.s
+
+CMakeFiles/QueuesManagment.dir/management-queues/MessageParams.cpp.o: CMakeFiles/QueuesManagment.dir/flags.make
+CMakeFiles/QueuesManagment.dir/management-queues/MessageParams.cpp.o: ../management-queues/MessageParams.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object CMakeFiles/QueuesManagment.dir/management-queues/MessageParams.cpp.o"
+ /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/QueuesManagment.dir/management-queues/MessageParams.cpp.o -c /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/MessageParams.cpp
+
+CMakeFiles/QueuesManagment.dir/management-queues/MessageParams.cpp.i: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/QueuesManagment.dir/management-queues/MessageParams.cpp.i"
+ /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/MessageParams.cpp > CMakeFiles/QueuesManagment.dir/management-queues/MessageParams.cpp.i
+
+CMakeFiles/QueuesManagment.dir/management-queues/MessageParams.cpp.s: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/QueuesManagment.dir/management-queues/MessageParams.cpp.s"
+ /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/MessageParams.cpp -o CMakeFiles/QueuesManagment.dir/management-queues/MessageParams.cpp.s
+
+CMakeFiles/QueuesManagment.dir/management-queues/MessageType.cpp.o: CMakeFiles/QueuesManagment.dir/flags.make
+CMakeFiles/QueuesManagment.dir/management-queues/MessageType.cpp.o: ../management-queues/MessageType.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object CMakeFiles/QueuesManagment.dir/management-queues/MessageType.cpp.o"
+ /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/QueuesManagment.dir/management-queues/MessageType.cpp.o -c /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/MessageType.cpp
+
+CMakeFiles/QueuesManagment.dir/management-queues/MessageType.cpp.i: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/QueuesManagment.dir/management-queues/MessageType.cpp.i"
+ /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/MessageType.cpp > CMakeFiles/QueuesManagment.dir/management-queues/MessageType.cpp.i
+
+CMakeFiles/QueuesManagment.dir/management-queues/MessageType.cpp.s: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/QueuesManagment.dir/management-queues/MessageType.cpp.s"
+ /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/MessageType.cpp -o CMakeFiles/QueuesManagment.dir/management-queues/MessageType.cpp.s
+
+CMakeFiles/QueuesManagment.dir/management-queues/Priority.cpp.o: CMakeFiles/QueuesManagment.dir/flags.make
+CMakeFiles/QueuesManagment.dir/management-queues/Priority.cpp.o: ../management-queues/Priority.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object CMakeFiles/QueuesManagment.dir/management-queues/Priority.cpp.o"
+ /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/QueuesManagment.dir/management-queues/Priority.cpp.o -c /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Priority.cpp
+
+CMakeFiles/QueuesManagment.dir/management-queues/Priority.cpp.i: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/QueuesManagment.dir/management-queues/Priority.cpp.i"
+ /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Priority.cpp > CMakeFiles/QueuesManagment.dir/management-queues/Priority.cpp.i
+
+CMakeFiles/QueuesManagment.dir/management-queues/Priority.cpp.s: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/QueuesManagment.dir/management-queues/Priority.cpp.s"
+ /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Priority.cpp -o CMakeFiles/QueuesManagment.dir/management-queues/Priority.cpp.s
+
+CMakeFiles/QueuesManagment.dir/management-queues/Queue.cpp.o: CMakeFiles/QueuesManagment.dir/flags.make
+CMakeFiles/QueuesManagment.dir/management-queues/Queue.cpp.o: ../management-queues/Queue.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building CXX object CMakeFiles/QueuesManagment.dir/management-queues/Queue.cpp.o"
+ /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/QueuesManagment.dir/management-queues/Queue.cpp.o -c /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Queue.cpp
+
+CMakeFiles/QueuesManagment.dir/management-queues/Queue.cpp.i: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/QueuesManagment.dir/management-queues/Queue.cpp.i"
+ /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Queue.cpp > CMakeFiles/QueuesManagment.dir/management-queues/Queue.cpp.i
+
+CMakeFiles/QueuesManagment.dir/management-queues/Queue.cpp.s: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/QueuesManagment.dir/management-queues/Queue.cpp.s"
+ /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Queue.cpp -o CMakeFiles/QueuesManagment.dir/management-queues/Queue.cpp.s
+
+CMakeFiles/QueuesManagment.dir/management-queues/Source.cpp.o: CMakeFiles/QueuesManagment.dir/flags.make
+CMakeFiles/QueuesManagment.dir/management-queues/Source.cpp.o: ../management-queues/Source.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Building CXX object CMakeFiles/QueuesManagment.dir/management-queues/Source.cpp.o"
+ /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/QueuesManagment.dir/management-queues/Source.cpp.o -c /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Source.cpp
+
+CMakeFiles/QueuesManagment.dir/management-queues/Source.cpp.i: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/QueuesManagment.dir/management-queues/Source.cpp.i"
+ /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Source.cpp > CMakeFiles/QueuesManagment.dir/management-queues/Source.cpp.i
+
+CMakeFiles/QueuesManagment.dir/management-queues/Source.cpp.s: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/QueuesManagment.dir/management-queues/Source.cpp.s"
+ /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Source.cpp -o CMakeFiles/QueuesManagment.dir/management-queues/Source.cpp.s
+
+CMakeFiles/QueuesManagment.dir/management-queues/Tests.cpp.o: CMakeFiles/QueuesManagment.dir/flags.make
+CMakeFiles/QueuesManagment.dir/management-queues/Tests.cpp.o: ../management-queues/Tests.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Building CXX object CMakeFiles/QueuesManagment.dir/management-queues/Tests.cpp.o"
+ /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/QueuesManagment.dir/management-queues/Tests.cpp.o -c /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Tests.cpp
+
+CMakeFiles/QueuesManagment.dir/management-queues/Tests.cpp.i: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/QueuesManagment.dir/management-queues/Tests.cpp.i"
+ /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Tests.cpp > CMakeFiles/QueuesManagment.dir/management-queues/Tests.cpp.i
+
+CMakeFiles/QueuesManagment.dir/management-queues/Tests.cpp.s: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/QueuesManagment.dir/management-queues/Tests.cpp.s"
+ /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Tests.cpp -o CMakeFiles/QueuesManagment.dir/management-queues/Tests.cpp.s
+
+CMakeFiles/QueuesManagment.dir/management-queues/dataOfMessage.cpp.o: CMakeFiles/QueuesManagment.dir/flags.make
+CMakeFiles/QueuesManagment.dir/management-queues/dataOfMessage.cpp.o: ../management-queues/dataOfMessage.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Building CXX object CMakeFiles/QueuesManagment.dir/management-queues/dataOfMessage.cpp.o"
+ /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/QueuesManagment.dir/management-queues/dataOfMessage.cpp.o -c /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/dataOfMessage.cpp
+
+CMakeFiles/QueuesManagment.dir/management-queues/dataOfMessage.cpp.i: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/QueuesManagment.dir/management-queues/dataOfMessage.cpp.i"
+ /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/dataOfMessage.cpp > CMakeFiles/QueuesManagment.dir/management-queues/dataOfMessage.cpp.i
+
+CMakeFiles/QueuesManagment.dir/management-queues/dataOfMessage.cpp.s: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/QueuesManagment.dir/management-queues/dataOfMessage.cpp.s"
+ /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/dataOfMessage.cpp -o CMakeFiles/QueuesManagment.dir/management-queues/dataOfMessage.cpp.s
+
+# Object files for target QueuesManagment
+QueuesManagment_OBJECTS = \
+"CMakeFiles/QueuesManagment.dir/management-queues/Message.cpp.o" \
+"CMakeFiles/QueuesManagment.dir/management-queues/MessageParams.cpp.o" \
+"CMakeFiles/QueuesManagment.dir/management-queues/MessageType.cpp.o" \
+"CMakeFiles/QueuesManagment.dir/management-queues/Priority.cpp.o" \
+"CMakeFiles/QueuesManagment.dir/management-queues/Queue.cpp.o" \
+"CMakeFiles/QueuesManagment.dir/management-queues/Source.cpp.o" \
+"CMakeFiles/QueuesManagment.dir/management-queues/Tests.cpp.o" \
+"CMakeFiles/QueuesManagment.dir/management-queues/dataOfMessage.cpp.o"
+
+# External object files for target QueuesManagment
+QueuesManagment_EXTERNAL_OBJECTS =
+
+QueuesManagment: CMakeFiles/QueuesManagment.dir/management-queues/Message.cpp.o
+QueuesManagment: CMakeFiles/QueuesManagment.dir/management-queues/MessageParams.cpp.o
+QueuesManagment: CMakeFiles/QueuesManagment.dir/management-queues/MessageType.cpp.o
+QueuesManagment: CMakeFiles/QueuesManagment.dir/management-queues/Priority.cpp.o
+QueuesManagment: CMakeFiles/QueuesManagment.dir/management-queues/Queue.cpp.o
+QueuesManagment: CMakeFiles/QueuesManagment.dir/management-queues/Source.cpp.o
+QueuesManagment: CMakeFiles/QueuesManagment.dir/management-queues/Tests.cpp.o
+QueuesManagment: CMakeFiles/QueuesManagment.dir/management-queues/dataOfMessage.cpp.o
+QueuesManagment: CMakeFiles/QueuesManagment.dir/build.make
+QueuesManagment: CMakeFiles/QueuesManagment.dir/link.txt
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Linking CXX executable QueuesManagment"
+ $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/QueuesManagment.dir/link.txt --verbose=$(VERBOSE)
+
+# Rule to build all files generated by this target.
+CMakeFiles/QueuesManagment.dir/build: QueuesManagment
+
+.PHONY : CMakeFiles/QueuesManagment.dir/build
+
+CMakeFiles/QueuesManagment.dir/clean:
+ $(CMAKE_COMMAND) -P CMakeFiles/QueuesManagment.dir/cmake_clean.cmake
+.PHONY : CMakeFiles/QueuesManagment.dir/clean
+
+CMakeFiles/QueuesManagment.dir/depend:
+ cd /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build/CMakeFiles/QueuesManagment.dir/DependInfo.cmake --color=$(COLOR)
+.PHONY : CMakeFiles/QueuesManagment.dir/depend
+
diff --git a/management-queues/build/CMakeFiles/QueuesManagment.dir/cmake_clean.cmake b/management-queues/build/CMakeFiles/QueuesManagment.dir/cmake_clean.cmake
new file mode 100644
index 0000000..0e77fc0
--- /dev/null
+++ b/management-queues/build/CMakeFiles/QueuesManagment.dir/cmake_clean.cmake
@@ -0,0 +1,17 @@
+file(REMOVE_RECURSE
+ "CMakeFiles/QueuesManagment.dir/management-queues/Message.cpp.o"
+ "CMakeFiles/QueuesManagment.dir/management-queues/MessageParams.cpp.o"
+ "CMakeFiles/QueuesManagment.dir/management-queues/MessageType.cpp.o"
+ "CMakeFiles/QueuesManagment.dir/management-queues/Priority.cpp.o"
+ "CMakeFiles/QueuesManagment.dir/management-queues/Queue.cpp.o"
+ "CMakeFiles/QueuesManagment.dir/management-queues/Source.cpp.o"
+ "CMakeFiles/QueuesManagment.dir/management-queues/Tests.cpp.o"
+ "CMakeFiles/QueuesManagment.dir/management-queues/dataOfMessage.cpp.o"
+ "QueuesManagment"
+ "QueuesManagment.pdb"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang CXX)
+ include(CMakeFiles/QueuesManagment.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()
diff --git a/management-queues/build/CMakeFiles/QueuesManagment.dir/depend.internal b/management-queues/build/CMakeFiles/QueuesManagment.dir/depend.internal
new file mode 100644
index 0000000..0ba7c81
--- /dev/null
+++ b/management-queues/build/CMakeFiles/QueuesManagment.dir/depend.internal
@@ -0,0 +1,37 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+CMakeFiles/QueuesManagment.dir/management-queues/Message.cpp.o
+ /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Message.cpp
+ /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Message.h
+ /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/MessageParams.h
+ /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/MessageType.h
+ /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Priority.h
+ /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/dataOfMessage.h
+CMakeFiles/QueuesManagment.dir/management-queues/MessageParams.cpp.o
+ /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/MessageParams.cpp
+ /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/MessageParams.h
+CMakeFiles/QueuesManagment.dir/management-queues/MessageType.cpp.o
+ /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/MessageType.cpp
+ /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/MessageType.h
+CMakeFiles/QueuesManagment.dir/management-queues/Priority.cpp.o
+ /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Priority.cpp
+ /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Priority.h
+CMakeFiles/QueuesManagment.dir/management-queues/Queue.cpp.o
+ /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Message.h
+ /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/MessageParams.h
+ /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/MessageType.h
+ /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Priority.h
+ /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Queue.cpp
+ /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Queue.h
+CMakeFiles/QueuesManagment.dir/management-queues/Source.cpp.o
+ /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Message.h
+ /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/MessageParams.h
+ /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/MessageType.h
+ /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Priority.h
+ /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Queue.h
+ /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Source.cpp
+CMakeFiles/QueuesManagment.dir/management-queues/Tests.cpp.o
+ /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/Tests.cpp
+CMakeFiles/QueuesManagment.dir/management-queues/dataOfMessage.cpp.o
+ /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/management-queues/dataOfMessage.cpp
diff --git a/management-queues/build/CMakeFiles/QueuesManagment.dir/depend.make b/management-queues/build/CMakeFiles/QueuesManagment.dir/depend.make
new file mode 100644
index 0000000..e9698e9
--- /dev/null
+++ b/management-queues/build/CMakeFiles/QueuesManagment.dir/depend.make
@@ -0,0 +1,37 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+CMakeFiles/QueuesManagment.dir/management-queues/Message.cpp.o: ../management-queues/Message.cpp
+CMakeFiles/QueuesManagment.dir/management-queues/Message.cpp.o: ../management-queues/Message.h
+CMakeFiles/QueuesManagment.dir/management-queues/Message.cpp.o: ../management-queues/MessageParams.h
+CMakeFiles/QueuesManagment.dir/management-queues/Message.cpp.o: ../management-queues/MessageType.h
+CMakeFiles/QueuesManagment.dir/management-queues/Message.cpp.o: ../management-queues/Priority.h
+CMakeFiles/QueuesManagment.dir/management-queues/Message.cpp.o: ../management-queues/dataOfMessage.h
+
+CMakeFiles/QueuesManagment.dir/management-queues/MessageParams.cpp.o: ../management-queues/MessageParams.cpp
+CMakeFiles/QueuesManagment.dir/management-queues/MessageParams.cpp.o: ../management-queues/MessageParams.h
+
+CMakeFiles/QueuesManagment.dir/management-queues/MessageType.cpp.o: ../management-queues/MessageType.cpp
+CMakeFiles/QueuesManagment.dir/management-queues/MessageType.cpp.o: ../management-queues/MessageType.h
+
+CMakeFiles/QueuesManagment.dir/management-queues/Priority.cpp.o: ../management-queues/Priority.cpp
+CMakeFiles/QueuesManagment.dir/management-queues/Priority.cpp.o: ../management-queues/Priority.h
+
+CMakeFiles/QueuesManagment.dir/management-queues/Queue.cpp.o: ../management-queues/Message.h
+CMakeFiles/QueuesManagment.dir/management-queues/Queue.cpp.o: ../management-queues/MessageParams.h
+CMakeFiles/QueuesManagment.dir/management-queues/Queue.cpp.o: ../management-queues/MessageType.h
+CMakeFiles/QueuesManagment.dir/management-queues/Queue.cpp.o: ../management-queues/Priority.h
+CMakeFiles/QueuesManagment.dir/management-queues/Queue.cpp.o: ../management-queues/Queue.cpp
+CMakeFiles/QueuesManagment.dir/management-queues/Queue.cpp.o: ../management-queues/Queue.h
+
+CMakeFiles/QueuesManagment.dir/management-queues/Source.cpp.o: ../management-queues/Message.h
+CMakeFiles/QueuesManagment.dir/management-queues/Source.cpp.o: ../management-queues/MessageParams.h
+CMakeFiles/QueuesManagment.dir/management-queues/Source.cpp.o: ../management-queues/MessageType.h
+CMakeFiles/QueuesManagment.dir/management-queues/Source.cpp.o: ../management-queues/Priority.h
+CMakeFiles/QueuesManagment.dir/management-queues/Source.cpp.o: ../management-queues/Queue.h
+CMakeFiles/QueuesManagment.dir/management-queues/Source.cpp.o: ../management-queues/Source.cpp
+
+CMakeFiles/QueuesManagment.dir/management-queues/Tests.cpp.o: ../management-queues/Tests.cpp
+
+CMakeFiles/QueuesManagment.dir/management-queues/dataOfMessage.cpp.o: ../management-queues/dataOfMessage.cpp
+
diff --git a/management-queues/build/CMakeFiles/QueuesManagment.dir/flags.make b/management-queues/build/CMakeFiles/QueuesManagment.dir/flags.make
new file mode 100644
index 0000000..9b9c84a
--- /dev/null
+++ b/management-queues/build/CMakeFiles/QueuesManagment.dir/flags.make
@@ -0,0 +1,10 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+# compile CXX with /usr/bin/c++
+CXX_FLAGS = -std=gnu++17
+
+CXX_DEFINES =
+
+CXX_INCLUDES = -I/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues
+
diff --git a/management-queues/build/CMakeFiles/QueuesManagment.dir/link.txt b/management-queues/build/CMakeFiles/QueuesManagment.dir/link.txt
new file mode 100644
index 0000000..c7a1464
--- /dev/null
+++ b/management-queues/build/CMakeFiles/QueuesManagment.dir/link.txt
@@ -0,0 +1 @@
+/usr/bin/c++ CMakeFiles/QueuesManagment.dir/management-queues/Message.cpp.o CMakeFiles/QueuesManagment.dir/management-queues/MessageParams.cpp.o CMakeFiles/QueuesManagment.dir/management-queues/MessageType.cpp.o CMakeFiles/QueuesManagment.dir/management-queues/Priority.cpp.o CMakeFiles/QueuesManagment.dir/management-queues/Queue.cpp.o CMakeFiles/QueuesManagment.dir/management-queues/Source.cpp.o CMakeFiles/QueuesManagment.dir/management-queues/Tests.cpp.o CMakeFiles/QueuesManagment.dir/management-queues/dataOfMessage.cpp.o -o QueuesManagment -lpthread
diff --git a/management-queues/build/CMakeFiles/QueuesManagment.dir/progress.make b/management-queues/build/CMakeFiles/QueuesManagment.dir/progress.make
new file mode 100644
index 0000000..d4f6ce3
--- /dev/null
+++ b/management-queues/build/CMakeFiles/QueuesManagment.dir/progress.make
@@ -0,0 +1,10 @@
+CMAKE_PROGRESS_1 = 1
+CMAKE_PROGRESS_2 = 2
+CMAKE_PROGRESS_3 = 3
+CMAKE_PROGRESS_4 = 4
+CMAKE_PROGRESS_5 = 5
+CMAKE_PROGRESS_6 = 6
+CMAKE_PROGRESS_7 = 7
+CMAKE_PROGRESS_8 = 8
+CMAKE_PROGRESS_9 = 9
+
diff --git a/management-queues/build/CMakeFiles/TargetDirectories.txt b/management-queues/build/CMakeFiles/TargetDirectories.txt
new file mode 100644
index 0000000..932a4cd
--- /dev/null
+++ b/management-queues/build/CMakeFiles/TargetDirectories.txt
@@ -0,0 +1,3 @@
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build/CMakeFiles/rebuild_cache.dir
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build/CMakeFiles/edit_cache.dir
+/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build/CMakeFiles/QueuesManagment.dir
diff --git a/management-queues/build/CMakeFiles/cmake.check_cache b/management-queues/build/CMakeFiles/cmake.check_cache
new file mode 100644
index 0000000..3dccd73
--- /dev/null
+++ b/management-queues/build/CMakeFiles/cmake.check_cache
@@ -0,0 +1 @@
+# This file is generated by cmake for dependency checking of the CMakeCache.txt file
diff --git a/management-queues/build/CMakeFiles/progress.marks b/management-queues/build/CMakeFiles/progress.marks
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ b/management-queues/build/CMakeFiles/progress.marks
@@ -0,0 +1 @@
+9
diff --git a/management-queues/build/Makefile b/management-queues/build/Makefile
new file mode 100644
index 0000000..41ef712
--- /dev/null
+++ b/management-queues/build/Makefile
@@ -0,0 +1,388 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.16
+
+# Default target executed when no arguments are given to make.
+default_target: all
+
+.PHONY : default_target
+
+# Allow only one "make -f Makefile2" at a time, but pass parallelism.
+.NOTPARALLEL:
+
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build
+
+#=============================================================================
+# Targets provided globally by CMake.
+
+# Special rule for the target rebuild_cache
+rebuild_cache:
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
+ /usr/bin/cmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
+.PHONY : rebuild_cache
+
+# Special rule for the target rebuild_cache
+rebuild_cache/fast: rebuild_cache
+
+.PHONY : rebuild_cache/fast
+
+# Special rule for the target edit_cache
+edit_cache:
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..."
+ /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
+.PHONY : edit_cache
+
+# Special rule for the target edit_cache
+edit_cache/fast: edit_cache
+
+.PHONY : edit_cache/fast
+
+# The main all target
+all: cmake_check_build_system
+ $(CMAKE_COMMAND) -E cmake_progress_start /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build/CMakeFiles /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build/CMakeFiles/progress.marks
+ $(MAKE) -f CMakeFiles/Makefile2 all
+ $(CMAKE_COMMAND) -E cmake_progress_start /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build/CMakeFiles 0
+.PHONY : all
+
+# The main clean target
+clean:
+ $(MAKE) -f CMakeFiles/Makefile2 clean
+.PHONY : clean
+
+# The main clean target
+clean/fast: clean
+
+.PHONY : clean/fast
+
+# Prepare targets for installation.
+preinstall: all
+ $(MAKE) -f CMakeFiles/Makefile2 preinstall
+.PHONY : preinstall
+
+# Prepare targets for installation.
+preinstall/fast:
+ $(MAKE) -f CMakeFiles/Makefile2 preinstall
+.PHONY : preinstall/fast
+
+# clear depends
+depend:
+ $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
+.PHONY : depend
+
+#=============================================================================
+# Target rules for targets named QueuesManagment
+
+# Build rule for target.
+QueuesManagment: cmake_check_build_system
+ $(MAKE) -f CMakeFiles/Makefile2 QueuesManagment
+.PHONY : QueuesManagment
+
+# fast build rule for target.
+QueuesManagment/fast:
+ $(MAKE) -f CMakeFiles/QueuesManagment.dir/build.make CMakeFiles/QueuesManagment.dir/build
+.PHONY : QueuesManagment/fast
+
+management-queues/Message.o: management-queues/Message.cpp.o
+
+.PHONY : management-queues/Message.o
+
+# target to build an object file
+management-queues/Message.cpp.o:
+ $(MAKE) -f CMakeFiles/QueuesManagment.dir/build.make CMakeFiles/QueuesManagment.dir/management-queues/Message.cpp.o
+.PHONY : management-queues/Message.cpp.o
+
+management-queues/Message.i: management-queues/Message.cpp.i
+
+.PHONY : management-queues/Message.i
+
+# target to preprocess a source file
+management-queues/Message.cpp.i:
+ $(MAKE) -f CMakeFiles/QueuesManagment.dir/build.make CMakeFiles/QueuesManagment.dir/management-queues/Message.cpp.i
+.PHONY : management-queues/Message.cpp.i
+
+management-queues/Message.s: management-queues/Message.cpp.s
+
+.PHONY : management-queues/Message.s
+
+# target to generate assembly for a file
+management-queues/Message.cpp.s:
+ $(MAKE) -f CMakeFiles/QueuesManagment.dir/build.make CMakeFiles/QueuesManagment.dir/management-queues/Message.cpp.s
+.PHONY : management-queues/Message.cpp.s
+
+management-queues/MessageParams.o: management-queues/MessageParams.cpp.o
+
+.PHONY : management-queues/MessageParams.o
+
+# target to build an object file
+management-queues/MessageParams.cpp.o:
+ $(MAKE) -f CMakeFiles/QueuesManagment.dir/build.make CMakeFiles/QueuesManagment.dir/management-queues/MessageParams.cpp.o
+.PHONY : management-queues/MessageParams.cpp.o
+
+management-queues/MessageParams.i: management-queues/MessageParams.cpp.i
+
+.PHONY : management-queues/MessageParams.i
+
+# target to preprocess a source file
+management-queues/MessageParams.cpp.i:
+ $(MAKE) -f CMakeFiles/QueuesManagment.dir/build.make CMakeFiles/QueuesManagment.dir/management-queues/MessageParams.cpp.i
+.PHONY : management-queues/MessageParams.cpp.i
+
+management-queues/MessageParams.s: management-queues/MessageParams.cpp.s
+
+.PHONY : management-queues/MessageParams.s
+
+# target to generate assembly for a file
+management-queues/MessageParams.cpp.s:
+ $(MAKE) -f CMakeFiles/QueuesManagment.dir/build.make CMakeFiles/QueuesManagment.dir/management-queues/MessageParams.cpp.s
+.PHONY : management-queues/MessageParams.cpp.s
+
+management-queues/MessageType.o: management-queues/MessageType.cpp.o
+
+.PHONY : management-queues/MessageType.o
+
+# target to build an object file
+management-queues/MessageType.cpp.o:
+ $(MAKE) -f CMakeFiles/QueuesManagment.dir/build.make CMakeFiles/QueuesManagment.dir/management-queues/MessageType.cpp.o
+.PHONY : management-queues/MessageType.cpp.o
+
+management-queues/MessageType.i: management-queues/MessageType.cpp.i
+
+.PHONY : management-queues/MessageType.i
+
+# target to preprocess a source file
+management-queues/MessageType.cpp.i:
+ $(MAKE) -f CMakeFiles/QueuesManagment.dir/build.make CMakeFiles/QueuesManagment.dir/management-queues/MessageType.cpp.i
+.PHONY : management-queues/MessageType.cpp.i
+
+management-queues/MessageType.s: management-queues/MessageType.cpp.s
+
+.PHONY : management-queues/MessageType.s
+
+# target to generate assembly for a file
+management-queues/MessageType.cpp.s:
+ $(MAKE) -f CMakeFiles/QueuesManagment.dir/build.make CMakeFiles/QueuesManagment.dir/management-queues/MessageType.cpp.s
+.PHONY : management-queues/MessageType.cpp.s
+
+management-queues/Priority.o: management-queues/Priority.cpp.o
+
+.PHONY : management-queues/Priority.o
+
+# target to build an object file
+management-queues/Priority.cpp.o:
+ $(MAKE) -f CMakeFiles/QueuesManagment.dir/build.make CMakeFiles/QueuesManagment.dir/management-queues/Priority.cpp.o
+.PHONY : management-queues/Priority.cpp.o
+
+management-queues/Priority.i: management-queues/Priority.cpp.i
+
+.PHONY : management-queues/Priority.i
+
+# target to preprocess a source file
+management-queues/Priority.cpp.i:
+ $(MAKE) -f CMakeFiles/QueuesManagment.dir/build.make CMakeFiles/QueuesManagment.dir/management-queues/Priority.cpp.i
+.PHONY : management-queues/Priority.cpp.i
+
+management-queues/Priority.s: management-queues/Priority.cpp.s
+
+.PHONY : management-queues/Priority.s
+
+# target to generate assembly for a file
+management-queues/Priority.cpp.s:
+ $(MAKE) -f CMakeFiles/QueuesManagment.dir/build.make CMakeFiles/QueuesManagment.dir/management-queues/Priority.cpp.s
+.PHONY : management-queues/Priority.cpp.s
+
+management-queues/Queue.o: management-queues/Queue.cpp.o
+
+.PHONY : management-queues/Queue.o
+
+# target to build an object file
+management-queues/Queue.cpp.o:
+ $(MAKE) -f CMakeFiles/QueuesManagment.dir/build.make CMakeFiles/QueuesManagment.dir/management-queues/Queue.cpp.o
+.PHONY : management-queues/Queue.cpp.o
+
+management-queues/Queue.i: management-queues/Queue.cpp.i
+
+.PHONY : management-queues/Queue.i
+
+# target to preprocess a source file
+management-queues/Queue.cpp.i:
+ $(MAKE) -f CMakeFiles/QueuesManagment.dir/build.make CMakeFiles/QueuesManagment.dir/management-queues/Queue.cpp.i
+.PHONY : management-queues/Queue.cpp.i
+
+management-queues/Queue.s: management-queues/Queue.cpp.s
+
+.PHONY : management-queues/Queue.s
+
+# target to generate assembly for a file
+management-queues/Queue.cpp.s:
+ $(MAKE) -f CMakeFiles/QueuesManagment.dir/build.make CMakeFiles/QueuesManagment.dir/management-queues/Queue.cpp.s
+.PHONY : management-queues/Queue.cpp.s
+
+management-queues/Source.o: management-queues/Source.cpp.o
+
+.PHONY : management-queues/Source.o
+
+# target to build an object file
+management-queues/Source.cpp.o:
+ $(MAKE) -f CMakeFiles/QueuesManagment.dir/build.make CMakeFiles/QueuesManagment.dir/management-queues/Source.cpp.o
+.PHONY : management-queues/Source.cpp.o
+
+management-queues/Source.i: management-queues/Source.cpp.i
+
+.PHONY : management-queues/Source.i
+
+# target to preprocess a source file
+management-queues/Source.cpp.i:
+ $(MAKE) -f CMakeFiles/QueuesManagment.dir/build.make CMakeFiles/QueuesManagment.dir/management-queues/Source.cpp.i
+.PHONY : management-queues/Source.cpp.i
+
+management-queues/Source.s: management-queues/Source.cpp.s
+
+.PHONY : management-queues/Source.s
+
+# target to generate assembly for a file
+management-queues/Source.cpp.s:
+ $(MAKE) -f CMakeFiles/QueuesManagment.dir/build.make CMakeFiles/QueuesManagment.dir/management-queues/Source.cpp.s
+.PHONY : management-queues/Source.cpp.s
+
+management-queues/Tests.o: management-queues/Tests.cpp.o
+
+.PHONY : management-queues/Tests.o
+
+# target to build an object file
+management-queues/Tests.cpp.o:
+ $(MAKE) -f CMakeFiles/QueuesManagment.dir/build.make CMakeFiles/QueuesManagment.dir/management-queues/Tests.cpp.o
+.PHONY : management-queues/Tests.cpp.o
+
+management-queues/Tests.i: management-queues/Tests.cpp.i
+
+.PHONY : management-queues/Tests.i
+
+# target to preprocess a source file
+management-queues/Tests.cpp.i:
+ $(MAKE) -f CMakeFiles/QueuesManagment.dir/build.make CMakeFiles/QueuesManagment.dir/management-queues/Tests.cpp.i
+.PHONY : management-queues/Tests.cpp.i
+
+management-queues/Tests.s: management-queues/Tests.cpp.s
+
+.PHONY : management-queues/Tests.s
+
+# target to generate assembly for a file
+management-queues/Tests.cpp.s:
+ $(MAKE) -f CMakeFiles/QueuesManagment.dir/build.make CMakeFiles/QueuesManagment.dir/management-queues/Tests.cpp.s
+.PHONY : management-queues/Tests.cpp.s
+
+management-queues/dataOfMessage.o: management-queues/dataOfMessage.cpp.o
+
+.PHONY : management-queues/dataOfMessage.o
+
+# target to build an object file
+management-queues/dataOfMessage.cpp.o:
+ $(MAKE) -f CMakeFiles/QueuesManagment.dir/build.make CMakeFiles/QueuesManagment.dir/management-queues/dataOfMessage.cpp.o
+.PHONY : management-queues/dataOfMessage.cpp.o
+
+management-queues/dataOfMessage.i: management-queues/dataOfMessage.cpp.i
+
+.PHONY : management-queues/dataOfMessage.i
+
+# target to preprocess a source file
+management-queues/dataOfMessage.cpp.i:
+ $(MAKE) -f CMakeFiles/QueuesManagment.dir/build.make CMakeFiles/QueuesManagment.dir/management-queues/dataOfMessage.cpp.i
+.PHONY : management-queues/dataOfMessage.cpp.i
+
+management-queues/dataOfMessage.s: management-queues/dataOfMessage.cpp.s
+
+.PHONY : management-queues/dataOfMessage.s
+
+# target to generate assembly for a file
+management-queues/dataOfMessage.cpp.s:
+ $(MAKE) -f CMakeFiles/QueuesManagment.dir/build.make CMakeFiles/QueuesManagment.dir/management-queues/dataOfMessage.cpp.s
+.PHONY : management-queues/dataOfMessage.cpp.s
+
+# Help Target
+help:
+ @echo "The following are some of the valid targets for this Makefile:"
+ @echo "... all (the default if no target is provided)"
+ @echo "... clean"
+ @echo "... depend"
+ @echo "... rebuild_cache"
+ @echo "... edit_cache"
+ @echo "... QueuesManagment"
+ @echo "... management-queues/Message.o"
+ @echo "... management-queues/Message.i"
+ @echo "... management-queues/Message.s"
+ @echo "... management-queues/MessageParams.o"
+ @echo "... management-queues/MessageParams.i"
+ @echo "... management-queues/MessageParams.s"
+ @echo "... management-queues/MessageType.o"
+ @echo "... management-queues/MessageType.i"
+ @echo "... management-queues/MessageType.s"
+ @echo "... management-queues/Priority.o"
+ @echo "... management-queues/Priority.i"
+ @echo "... management-queues/Priority.s"
+ @echo "... management-queues/Queue.o"
+ @echo "... management-queues/Queue.i"
+ @echo "... management-queues/Queue.s"
+ @echo "... management-queues/Source.o"
+ @echo "... management-queues/Source.i"
+ @echo "... management-queues/Source.s"
+ @echo "... management-queues/Tests.o"
+ @echo "... management-queues/Tests.i"
+ @echo "... management-queues/Tests.s"
+ @echo "... management-queues/dataOfMessage.o"
+ @echo "... management-queues/dataOfMessage.i"
+ @echo "... management-queues/dataOfMessage.s"
+.PHONY : help
+
+
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+ $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+.PHONY : cmake_check_build_system
+
diff --git a/management-queues/build/QueuesManagment b/management-queues/build/QueuesManagment
new file mode 100644
index 0000000..6567a7d
Binary files /dev/null and b/management-queues/build/QueuesManagment differ
diff --git a/management-queues/build/cmake_install.cmake b/management-queues/build/cmake_install.cmake
new file mode 100644
index 0000000..f4f1290
--- /dev/null
+++ b/management-queues/build/cmake_install.cmake
@@ -0,0 +1,49 @@
+# Install script for directory: /mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues
+
+# Set the install prefix
+if(NOT DEFINED CMAKE_INSTALL_PREFIX)
+ set(CMAKE_INSTALL_PREFIX "/usr/local")
+endif()
+string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
+ if(BUILD_TYPE)
+ string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+ CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+ else()
+ set(CMAKE_INSTALL_CONFIG_NAME "")
+ endif()
+ message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+endif()
+
+# Set the component getting installed.
+if(NOT CMAKE_INSTALL_COMPONENT)
+ if(COMPONENT)
+ message(STATUS "Install component: \"${COMPONENT}\"")
+ set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+ else()
+ set(CMAKE_INSTALL_COMPONENT)
+ endif()
+endif()
+
+# Install shared libraries without execute permission?
+if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+ set(CMAKE_INSTALL_SO_NO_EXE "1")
+endif()
+
+# Is this installation the result of a crosscompile?
+if(NOT DEFINED CMAKE_CROSSCOMPILING)
+ set(CMAKE_CROSSCOMPILING "FALSE")
+endif()
+
+if(CMAKE_INSTALL_COMPONENT)
+ set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
+else()
+ set(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
+endif()
+
+string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
+ "${CMAKE_INSTALL_MANIFEST_FILES}")
+file(WRITE "/mnt/c/Users/User/Desktop/Practicum/MultiDrone/management-queues/build/${CMAKE_INSTALL_MANIFEST}"
+ "${CMAKE_INSTALL_MANIFEST_CONTENT}")
diff --git a/management-queues/management-queues/Message.cpp b/management-queues/management-queues/Message.cpp
new file mode 100644
index 0000000..8bd6918
--- /dev/null
+++ b/management-queues/management-queues/Message.cpp
@@ -0,0 +1,23 @@
+#include "Message.h"
+#include "dataOfMessage.h"
+#include
+
+int Message::counter = 0;
+
+Priority Message::GetPriority() {
+ return dataOfMessageVector[static_cast(messageType)].priority;
+}
+
+Message& Message:: operator=(const Message& other)
+{
+ if (this != &other)
+ {
+ // Note: messageId should remain unique, so we do not copy it.
+ reqId = other.reqId;
+ messageType = other.messageType;
+ droneId = other.droneId;
+ messageParams = other.messageParams; // Assuming proper copy behavior in MessageParams
+ //priority = other.priority;
+ }
+ return *this;
+}
diff --git a/management-queues/management-queues/Message.h b/management-queues/management-queues/Message.h
new file mode 100644
index 0000000..e67f4e8
--- /dev/null
+++ b/management-queues/management-queues/Message.h
@@ -0,0 +1,23 @@
+#pragma once
+#include "Priority.h"
+#include "MessageType.h"
+#include "MessageParams.h"
+struct Message
+{
+ int messageId;
+ int reqId;
+ MessageType messageType;
+ int droneId;
+ MessageParams* messageParams;
+
+ Message() :messageId(counter++) {}
+ // for testing
+ Message(MessageType mt) :messageId(counter++),messageType(mt) {}
+
+ Message& operator=(const Message& other);
+
+ Priority GetPriority();
+
+private:
+ int static counter;
+};
\ No newline at end of file
diff --git a/management-queues/management-queues/MessageParams.cpp b/management-queues/management-queues/MessageParams.cpp
new file mode 100644
index 0000000..cd99bb7
--- /dev/null
+++ b/management-queues/management-queues/MessageParams.cpp
@@ -0,0 +1 @@
+#include "MessageParams.h"
diff --git a/management-queues/management-queues/MessageParams.h b/management-queues/management-queues/MessageParams.h
new file mode 100644
index 0000000..318f8c4
--- /dev/null
+++ b/management-queues/management-queues/MessageParams.h
@@ -0,0 +1,5 @@
+#pragma once
+class MessageParams
+{
+};
+
diff --git a/management-queues/management-queues/MessageType.cpp b/management-queues/management-queues/MessageType.cpp
new file mode 100644
index 0000000..008f38b
--- /dev/null
+++ b/management-queues/management-queues/MessageType.cpp
@@ -0,0 +1 @@
+#include "MessageType.h"
diff --git a/management-queues/management-queues/MessageType.h b/management-queues/management-queues/MessageType.h
new file mode 100644
index 0000000..b721c92
--- /dev/null
+++ b/management-queues/management-queues/MessageType.h
@@ -0,0 +1,21 @@
+#pragma once
+enum class MessageType
+{
+ M_GOT_REQ,
+ MTS_ASK_FOR_IMAGES,
+ STM_SEND_IMAGES_PROP,
+ MTS_GIVE_THE_CHOSEN_IMAGE,
+ STM_RESPONSE_TO_THE_CHOSEN_IMAGE,
+ MTS_SEND_LOCATION,
+ MTS_MOVE_OUT_OF_THIS_EREA,
+ MTS_STOP_SEND_LOCATION,
+ MTS_STOP_AT_PLACE,
+ MTS_BACK_TO_STARTING_POINT,
+ MTS_SEND_EVENTS,
+ STM_GET_EVENTS,
+ MTIP_REQ_FOR_REAL_MAP,
+ MTS_REQ_FOR_PHOTO,
+ STM_LOCATION,
+ size
+};
+
diff --git a/management-queues/management-queues/Priority.cpp b/management-queues/management-queues/Priority.cpp
new file mode 100644
index 0000000..6a533c2
--- /dev/null
+++ b/management-queues/management-queues/Priority.cpp
@@ -0,0 +1 @@
+#include "Priority.h"
diff --git a/management-queues/management-queues/Priority.h b/management-queues/management-queues/Priority.h
new file mode 100644
index 0000000..5d53f86
--- /dev/null
+++ b/management-queues/management-queues/Priority.h
@@ -0,0 +1,10 @@
+#pragma once
+enum class Priority
+{
+ Low, // Low priority - tasks that are not urgent and can be addressed later.
+ MediumLow, // Medium-Low priority - tasks that are less urgent than medium priority tasks.
+ Medium, // Medium priority - tasks that are somewhat urgent but not the highest priority.
+ MediumHigh, // Medium-High priority - tasks that are more urgent and require timely attention.
+ High
+
+};
diff --git a/management-queues/management-queues/Queue.cpp b/management-queues/management-queues/Queue.cpp
new file mode 100644
index 0000000..fbe655b
--- /dev/null
+++ b/management-queues/management-queues/Queue.cpp
@@ -0,0 +1,141 @@
+#include "Queue.h"
+#include
+#include
+#include
+using namespace std;
+
+Queue::~Queue() {
+ while (head != nullptr) {
+ Node* temp = head;
+ head = head->next;
+ delete temp;
+ }
+}
+void Queue::clear() {
+ while (head != nullptr) {
+ Node* temp = head;
+ head = head->next;
+ delete temp;
+ }
+ tail = nullptr;
+ numOfMessages = 0;
+}
+
+
+void Queue::push(Message data) {
+ if (numOfMessages == maxOfMessages) {
+ cerr << "��� ���� ����";
+ }
+ lock_guard lock(mtx);
+ //SlaveEventManager::addEvent("ID::push")
+ Node* newNode = new Node(data);
+ if (tail == nullptr) {
+ head = tail = newNode;
+ }
+ else {
+ tail->next = newNode;
+ newNode->prev = tail;
+ tail = newNode;
+ }
+ numOfMessages++;
+}
+
+Message Queue::pop() {
+ lock_guard lock(mtx);
+ // SlaveEventManager::addEvent("ID::pop")
+ if (head == nullptr) {
+ throw out_of_range("Queue is empty");
+ }
+ Node* temp = head;
+ head = head->next;
+ if (head != nullptr) {
+ head->prev = nullptr;
+ }
+ else {
+ tail = nullptr;
+ }
+ numOfMessages--;
+ return temp->data;
+}
+
+Node* Queue::pick(int index) {
+ //SlaveEventManager::addEvent("ID::pick")
+ lock_guard lock(mtx);
+ if (head == nullptr) {
+ throw out_of_range("Queue is empty");
+ }
+
+ Node* temp = head;
+ for (int i = 0; i < index && temp != nullptr; ++i) {
+ temp = temp->next;
+ }
+
+ if (temp == nullptr) {
+ throw out_of_range("Index out of range");
+ }
+
+ if (temp->prev != nullptr) {
+ temp->prev->next = temp->next;
+ }
+ else {
+ head = temp->next;
+ }
+
+ if (temp->next != nullptr) {
+ temp->next->prev = temp->prev;
+ }
+ else {
+ tail = temp->prev;
+ }
+ return temp;
+}
+
+Message Queue::top() const {
+ return head->data;
+}
+
+int Queue::pass() const {
+ int counter = 0;
+ Node* current = head;
+ while (current != nullptr) {
+ counter++;
+ //cout << current->data.getMessage();
+ current = current->next;
+ }
+ //cout << endl;
+ return counter;
+}
+
+bool Queue::isEmpty() const {
+ return head == nullptr;
+}
+
+Priority Queue::GetPriority() const {
+ return priority;
+}
+void Queue::setPriority(Priority newPriority) {
+ priority = newPriority;
+}
+
+Queue& Queue::operator=(const Queue& other) {
+ if (this != &other) {
+ this->head = other.head;
+ this->tail = other.tail;
+ priority = other.priority;
+ weight = other.weight;
+ currentWeight = other.currentWeight;
+ maxOfMessages = other.maxOfMessages;
+ numOfMessages = other.numOfMessages;
+ }
+ return *this;
+}
+
+int Queue::GetSize() {
+ return pass();
+}
+void Queue::DecreaseWeight() {
+ this->currentWeight -= 1;
+}
+int Queue::GetCurrentWeight() const {
+ return currentWeight;
+}
\ No newline at end of file
diff --git a/management-queues/management-queues/Queue.h b/management-queues/management-queues/Queue.h
new file mode 100644
index 0000000..ed9afec
--- /dev/null
+++ b/management-queues/management-queues/Queue.h
@@ -0,0 +1,78 @@
+#pragma once
+#include
+#include
+#include
+#include "Message.h"
+#include "Priority.h"
+#include
+using namespace std;
+
+// Node structure for the doubly linked list
+struct Node {
+ Message data;
+ Node* next;
+ Node* prev;
+
+ Node(Message data) : data(data), next(nullptr), prev(nullptr) {}
+};
+
+typedef void (*FuncPtr)();
+
+class Queue {
+private:
+ vector pointersToFunctions;
+
+ Node* head;
+ Node* tail;
+ Priority priority;
+ int weight;
+ int currentWeight;
+ int maxOfMessages;
+ int numOfMessages;
+ std::mutex mtx;
+
+ void clear();
+ //void copyFrom(const Queue& other);
+
+public:
+ Queue(Priority priority = Priority::Low) : head(nullptr), tail(nullptr), priority(priority) {}
+
+ // Destructor to clean up the allocated memory
+ ~Queue();
+
+ Queue(const Queue& other) {
+ this->priority = other.priority;
+ head = other.head;
+ tail = other.tail;
+ weight = other.weight;
+ currentWeight = other.currentWeight;
+ maxOfMessages = other.maxOfMessages;
+ numOfMessages = other.numOfMessages;
+ }
+
+ Queue& operator=(const Queue& other);
+
+ void push(Message data);
+
+ Message pop();
+
+ Node* pick(int index);
+
+ Message top() const;
+
+ int pass() const;
+
+ bool isEmpty() const;
+
+ Priority GetPriority() const;
+
+ void setPriority(Priority newPriority);
+
+ int GetSize();
+
+ void DecreaseWeight();
+
+ int GetCurrentWeight() const;
+
+ void Handler();
+};
\ No newline at end of file
diff --git a/management-queues/management-queues/Source.cpp b/management-queues/management-queues/Source.cpp
new file mode 100644
index 0000000..4621db3
--- /dev/null
+++ b/management-queues/management-queues/Source.cpp
@@ -0,0 +1,67 @@
+#include
+#include
+#include
+#include
+#include "Message.h"
+#include "Queue.h"
+#include "Priority.h"
+#include