source: ntrip/trunk/BNC/src/upload/bncrawuploadcaster.cpp@ 10753

Last change on this file since 10753 was 10753, checked in by stuerze, 4 weeks ago

NtripSever functionallity added

File size: 2.1 KB
Line 
1/*
2 * bncrawuploadcaster.cpp
3 *
4 * Created on: Aug 26, 2025
5 * Author: stuerze
6 */
7
8/* -------------------------------------------------------------------------
9 * BKG NTRIP Server
10 * -------------------------------------------------------------------------
11 *
12 * Class: bncRawUploadCaster
13 *
14 * Purpose: Connection to NTRIP Caster for Ephemeris
15 *
16 * Author: L. Mervart
17 *
18 * Created: 03-Apr-2011
19 *
20 * Changes:
21 *
22 * -----------------------------------------------------------------------*/
23
24#include <iostream>
25#include <math.h>
26#include "bncrawuploadcaster.h"
27#include "bncsettings.h"
28
29using namespace std;
30
31// Constructor
32////////////////////////////////////////////////////////////////////////////
33bncRawUploadCaster::bncRawUploadCaster() {
34 bncSettings settings;
35
36 // List of upload casters
37 // ----------------------
38 int iRow = -1;
39 QListIterator<QString> it(settings.value("uploadRawMountpointsOut").toStringList());
40 while (it.hasNext()) {
41 QStringList hlp = it.next().split(",");
42 if (hlp.size() > 5) {
43 ++iRow;
44 QString sourceMount = hlp[0];
45 int outPort = hlp[2].toInt();
46 bncUploadCaster* newCaster = new bncUploadCaster(hlp[3], hlp[1], outPort,
47 hlp[4], hlp[5],
48 hlp[6], iRow, 0);
49
50 connect(newCaster, SIGNAL(newBytes(QByteArray,double)),
51 this, SIGNAL(newBytes(QByteArray,double)));
52
53 newCaster->start();
54 _casters[sourceMount] = newCaster;
55 }
56 }
57}
58
59// Destructor
60////////////////////////////////////////////////////////////////////////////
61bncRawUploadCaster::~bncRawUploadCaster() {
62 QMapIterator<QString,bncUploadCaster*>it(_casters);
63 while (it.hasNext()) {
64 it.next();
65 it.value()->deleteSafely();
66 }
67 _casters.clear();
68}
69
70// Output into the raw upload socket
71////////////////////////////////////////////////////////////////////////////
72void bncRawUploadCaster::slotNewRawData(QByteArray staID, QByteArray data) {
73
74 if (_casters.contains(QString(staID))) {
75 _casters[QString(staID)]->setOutBuffer(data);
76 }
77}
Note: See TracBrowser for help on using the repository browser.