70 lines
1.7 KiB
C++
70 lines
1.7 KiB
C++
#pragma once
|
|
|
|
#include <vector>
|
|
|
|
#include "messages/context.h"
|
|
#include "Configuration.h"
|
|
|
|
class AudioThread; //forward declaration
|
|
namespace piscan {
|
|
namespace sigproc {
|
|
class DemodInterface;
|
|
}
|
|
}
|
|
|
|
namespace piscan {
|
|
namespace app {
|
|
|
|
struct ManualEntryData {
|
|
public:
|
|
ManualEntryData(ManualEntryData& copy) : freq(copy.freq), modulation(copy.modulation){};
|
|
ManualEntryData(long long freq, std::string mode): freq(freq), modulation(mode){};
|
|
|
|
long long freq;
|
|
std::string modulation;
|
|
};
|
|
|
|
/* system functions */
|
|
namespace system {
|
|
bool stopSystem();
|
|
const piscan::server::context::SystemInfo getSystemInfo();
|
|
inline piscan::config::Configuration& getConfig() { return piscan::config::Configuration::getConfig(); };
|
|
inline piscan::config::State& getState() { return piscan::config::State::getState(); };
|
|
void softAbort();
|
|
}
|
|
|
|
/* scanner functions */
|
|
namespace scanner {
|
|
void startScan();
|
|
void holdScan(std::vector<int> index = std::vector<int>());
|
|
void stopScanner();
|
|
void manualEntry(ManualEntryData* freq);
|
|
piscan::server::context::ScannerContext getScannerContext();
|
|
}
|
|
|
|
/* demod functions */
|
|
namespace demod {
|
|
piscan::sigproc::DemodInterface& getDemodInstance();
|
|
void setTunerGain(float gain);
|
|
void setDemodSquelch(float level);
|
|
piscan::server::context::DemodContext getDemodContext();
|
|
void squelchBreak(bool mute = true);
|
|
long long getTunerSampleRate();
|
|
//void setTunerPPM(int ppm);
|
|
}
|
|
|
|
/* server functions */
|
|
namespace server {
|
|
void scannerContextUpdate(piscan::server::context::ScannerContext ctx);
|
|
void demodContextUpdate(piscan::server::context::DemodContext ctx);
|
|
void signalLevelUpdate(int level);
|
|
}
|
|
|
|
/* audio related */
|
|
namespace audio {
|
|
AudioThread* getAudioController();
|
|
}
|
|
|
|
} // namespace app
|
|
} // namespace piscan
|