mirror of https://github.com/nostar/urfd.git
parent
1ed0ab2971
commit
d11128df3a
@ -1,49 +0,0 @@
|
||||
// Copyright © 2015 Jean-Luc. All rights reserved.
|
||||
|
||||
// urfd -- The universal reflector
|
||||
// Copyright © 2021 Thomas A. Early N7TAE
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <queue>
|
||||
#include <mutex>
|
||||
|
||||
#include "Notification.h"
|
||||
|
||||
class CNotificationQueue
|
||||
{
|
||||
public:
|
||||
// constructor
|
||||
CNotificationQueue() {}
|
||||
|
||||
// destructor
|
||||
~CNotificationQueue() {}
|
||||
|
||||
// lock
|
||||
void Lock() { m_Mutex.lock(); }
|
||||
void Unlock() { m_Mutex.unlock(); }
|
||||
|
||||
// pass thru
|
||||
CNotification front() { return queue.front(); }
|
||||
void pop() { queue.pop(); }
|
||||
void push(CNotification note) { queue.push(note); }
|
||||
bool empty() const { return queue.empty(); }
|
||||
|
||||
protected:
|
||||
// data
|
||||
std::mutex m_Mutex;
|
||||
std::queue<CNotification> queue;
|
||||
};
|
||||
@ -1,37 +0,0 @@
|
||||
// Copyright © 2015 Jean-Luc. All rights reserved.
|
||||
|
||||
// urfd -- The universal reflector
|
||||
// Copyright © 2021 Thomas A. Early N7TAE
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
#include "Notification.h"
|
||||
|
||||
CNotification::CNotification()
|
||||
{
|
||||
// init variables
|
||||
m_iId = NOTIFICATION_NONE;
|
||||
}
|
||||
|
||||
CNotification::CNotification(int iId)
|
||||
{
|
||||
m_iId = iId;
|
||||
}
|
||||
|
||||
CNotification::CNotification(int iId, const CCallsign &Callsign)
|
||||
{
|
||||
m_iId = iId;
|
||||
m_Callsign = Callsign;
|
||||
}
|
||||
@ -1,53 +0,0 @@
|
||||
// Copyright © 2015 Jean-Luc. All rights reserved.
|
||||
|
||||
// urfd -- The universal reflector
|
||||
// Copyright © 2021 Thomas A. Early N7TAE
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "Callsign.h"
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Id
|
||||
#define NOTIFICATION_NONE 0
|
||||
#define NOTIFICATION_CLIENTS 1
|
||||
#define NOTIFICATION_USERS 2
|
||||
#define NOTIFICATION_STREAM_OPEN 3
|
||||
#define NOTIFICATION_STREAM_CLOSE 4
|
||||
#define NOTIFICATION_PEERS 5
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////
|
||||
// class
|
||||
|
||||
class CNotification
|
||||
{
|
||||
public:
|
||||
// constructor
|
||||
CNotification();
|
||||
CNotification(int);
|
||||
CNotification(int, const CCallsign &);
|
||||
|
||||
// get
|
||||
int GetId(void) const { return m_iId; }
|
||||
const CCallsign &GetCallsign(void) const { return m_Callsign; }
|
||||
|
||||
protected:
|
||||
// data
|
||||
int m_iId;
|
||||
CCallsign m_Callsign;
|
||||
|
||||
};
|
||||
@ -1,49 +0,0 @@
|
||||
// Copyright © 2015 Jean-Luc. All rights reserved.
|
||||
|
||||
// urfd -- The universal reflector
|
||||
// Copyright © 2021 Thomas A. Early N7TAE
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <queue>
|
||||
#include <mutex>
|
||||
|
||||
#include "Notification.h"
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////
|
||||
// class
|
||||
|
||||
class CNotificationQueue
|
||||
{
|
||||
public:
|
||||
// lock
|
||||
void Lock() { m_Mutex.lock(); }
|
||||
void Unlock() { m_Mutex.unlock(); }
|
||||
|
||||
// pass thru
|
||||
CNotification front() { return queue.front(); }
|
||||
void pop() { queue.pop(); }
|
||||
void push(CNotification note) { queue.push(note); }
|
||||
bool empty() const { return queue.empty(); }
|
||||
|
||||
protected:
|
||||
// data
|
||||
std::mutex m_Mutex;
|
||||
std::queue<CNotification> queue;
|
||||
};
|
||||
Loading…
Reference in new issue