Commit Graph

221 Commits

Author SHA1 Message Date
Mathew Sutcliffe
a23c9e3f07 Normalizing argument types of CEarthAngle comparison and arithmetic operators:
argument type should be same type as the this pointer.
2014-01-17 01:38:29 +00:00
Mathew Sutcliffe
f156916c0c A copy constructor is needed for CPhysicalQuantity to fix an MSVC2010 linker error introduced by the previous commit.
refs #84
2014-01-17 01:38:28 +00:00
Mathew Sutcliffe
db4c05dd9f refs #84 removed the CValueObject::compare method and added a friend function BlackMisc::compare to replace it.
The new compare is implemented using "multimethods" described in the book Advanced C++ Programming Styles and Idioms by James Coplien.

First, the isA method is used to determine which of the values being compared is the most general. (For example, CLength is more general than CAltitude.)
Then the compareImpl method is called on the most general value, with the other value as an argument.
If there is not a direct inheritance relation between the two values (or they are the same class) then the comparison is invalid and a assert is triggered.
2014-01-17 01:38:27 +00:00
Mathew Sutcliffe
e40c93fe1b Removed CEarthAngle::toAngle, because implicit conversion already works.
Applied a different workaround to resolve the hiding of an inherited name in CEarthAngle, same as was done in CAltitude.
refs #84
2014-01-17 01:29:03 +00:00
Klaus Basan
bddf54d770 Merge branch 'master' of dev.vatsim-germany.org:vatpilotclient/client 2014-01-16 02:05:57 +01:00
Klaus Basan
34ef6e47ae Changed when m_updateTimer is started:
Now starts when connection is established, and stops when terminated.
Also added an extra check in update, as the session check is
not sufficient.
2014-01-16 02:03:46 +01:00
Klaus Basan
2cf097ae2e Receiving errors as status message results in
a pop up message now.
2014-01-15 23:52:22 +01:00
Klaus Basan
4f94f43e0d Setting own aircraft did not start the udpate timer.
Hence no updates from the network were received.
2014-01-15 23:51:15 +01:00
Roland Winklmeier
e36448f0a1 Replaced c++ standard integer types with Qt types
In order to be consistent, all standard integer types have been
replaced by the equivalent Qt ones in voice/audio code.
Projects covered
- BlackCore
- BlackMisc
- sample_voice_client

refs #99
2014-01-15 21:12:01 +01:00
Roland Winklmeier
f50fe098e3 Fix compile error in qFatal caused by type change to QString
msg was changed from type "const char*" to QString, but qFatal is
still expecting a "const char*" as its argument. Passed the QString
value to the qPrintable macro to fix it.
2014-01-15 20:39:15 +01:00
Klaus Basan
e5eb5bc972 Added new servers in the settings.
Europe C2 is now retired, I have added new severs for testing purposes.
C2 will be kept as test case for failing connects.

Remarks: Is will be saved in the settings in the future.
But we have no persistence for objects yet.
2014-01-15 20:11:00 +01:00
Klaus Basan
437eea6918 New signal/slot syntax
#96

In this particular case also solving the ASSERT
remaining from the pair programming session:

this->connect(this->m_network, SIGNAL(connectionStatusChanged(...
2014-01-15 16:21:17 +01:00
Klaus Basan
a0a082ab98 New signal/slot syntax
#96

In this particular case also solving the ASSERT
remaining from the pair programming sessiom:

this->connect(this->m_network, SIGNAL(connectionStatusChanged(INetwork::ConnectionStatus, INetwork::ConnectionStatus)),
this, SLOT(psFsdConnectionStatusChanged(INetwork::ConnectionStatus, INetwork::ConnectionStatus)));
Q_ASSERT_X(connect, "CContextNetwork", "Cannot connect connectionStatusChanged");
2014-01-15 15:58:29 +01:00
Mathew Sutcliffe
917e1829d1 reviewed backlog INetwork and CContextNetwork changes from kbatclist
* INetwork setOwnAircraft slots
* ATIS received shimlib callback triggers separate VoiceRoom and LogoffTime signals
* INetwork statusMessage signal emitted in response to shimlib errors
* INetwork::ConnectionStatus added a DisconnectedError value and toString conversion
* INetwork::isConnected method
* Argument in CNetworkVatlib constructor to enable stealth or observer mode
* Update CLI sample, tests, and CContextNetwork accordingly
2014-01-14 23:30:21 +00:00
Mathew Sutcliffe
7f99c6d953 using qSwap in CTextMessage::toggleSenderRecipient 2014-01-14 23:30:20 +00:00
Mathew Sutcliffe
b5f1b101f6 CTransponder::setModeAsString 2014-01-14 23:30:19 +00:00
Mathew Sutcliffe
84ec984e0e removed CNetworkDummy as it was not being used 2014-01-14 23:30:00 +00:00
Klaus Basan
92276eb5bf Removed Connection state from the class,
as we have it now in INetwork. The connection state
from the shimblib should not be used in the client
code (abstraction from "drivers"), and in the past the
corresponding client state was declared here, but is now
one level deeper in INetwork.

A second change applied here is to use the signature
connectionStatusChanged(from, to), which allows the GUI
to better detect whether we login or logout without keeping
its own state.
2014-01-13 14:05:13 +01:00
Klaus Basan
cf47b670a6 Include order 2014-01-13 13:29:08 +01:00
Klaus Basan
959f171edf Changed to astyle format and added comment 2014-01-13 13:26:30 +01:00
Klaus Basan
11666da76a Mute functionality, corrected setting volume 2014-01-13 13:22:58 +01:00
Klaus Basan
cedc08eb3d Code based on Review with RW (userJoinedLeft).
Includes the discussed changes, added the mute methods,
and switchAudioOutput to enable/disable channel1/2
2014-01-13 03:19:36 +01:00
Klaus Basan
71c7318176 IsMuted method 2014-01-13 03:05:12 +01:00
Klaus Basan
3627d340b2 Enable flag for modulator. Used with the GUI for MUTE. 2014-01-13 02:43:45 +01:00
Klaus Basan
4303cb8897 Hash value 2014-01-13 02:35:33 +01:00
Klaus Basan
43e5e54f22 Added received timestamp. Taken renaming to sender /recipient
one step further. getSender will be used later to return
the real CUser object
2014-01-13 02:30:42 +01:00
Klaus Basan
1051a343aa New XML files for DBus, reflecting changes in the value classes 2014-01-13 01:59:54 +01:00
Klaus Basan
7cc35b24d3 Get current callsign as observer callsign.
This will be used with OBS mode login.
2014-01-13 01:57:42 +01:00
Klaus Basan
28a64c5371 Resources for the GUI. These go to the supporting library,
and hence could be used for other GUI projects as well
2014-01-13 01:40:56 +01:00
Mathew Sutcliffe
60ad43d291 INetwork: removed the five connectionStatus signals and added one signal with an enum argument to replace them.
Requested by Klaus, to ease the implementation of signal consumers.
2014-01-11 17:59:45 +00:00
Roland Winklmeier
05c121b214 Fixed a mistake where CContainerBase::marshallToDbus was using the wrong version of QDBusArgument::beginArray,
leading to the qdbuscpp2xml error "read from a write-only object" reported by Klaus.
2014-01-11 16:58:32 +00:00
Mathew Sutcliffe
405ad7165e Iterator classes: removed templated ctors and added static methods to replace them,
for consistency with the container classes and to avoid any potential infinite recursion with MSVC2010.
See also commit:6a9065b

Also fixed a mistake in CSequence and CCollection, where Pimpl::erase was calling the wrong version of m_impl.erase
reported by Roland.
2014-01-11 16:53:21 +00:00
Mathew Sutcliffe
6a9065b37f Container classes: removed templated ctors and added static methods to replace them.
This resolves an issue with infinite recursion and stack overflows in MSVC2010.
See also http://connect.microsoft.com/VisualStudio/feedback/details/522094/
2014-01-11 01:32:24 +00:00
Mathew Sutcliffe
784d93139b CTextMessage: fromCallsign and toCallsign become sender and recipient (to and from looked like conversion methods)
refs #81
2014-01-10 00:20:22 +00:00
Mathew Sutcliffe
4f4b77f2b2 CSequence: added sort method, an in-place companion to the sorted method
refs #81
2014-01-10 00:20:22 +00:00
Mathew Sutcliffe
08e978c8d6 moved from CContainerBase to CSequence those methods which only support sequential containers
refs #81
2014-01-10 00:20:21 +00:00
Mathew Sutcliffe
bc611263e9 slight change to how we declare our qHash overload for CValueObject,
which fixes some include order dependency shenanigans when compiling with GCC,
which was caused by the requirement to overload qHash for CCollection
and the way qHash interacts with the dreaded two-phase lookup for C++ templates

refs #81
2014-01-09 01:16:02 +00:00
Klaus Basan
64e14b7965 input and output volume stored as part of CModulator
refs #81
2014-01-09 01:16:02 +00:00
Klaus Basan
d15d0db431 post-voice changes in blackgui from the kbatclist branch
refs #81
2014-01-09 01:16:01 +00:00
Mathew Sutcliffe
b475d7eff1 INetwork builds up the ATIS as it is received, line-by-line, keeping this implementation detail more encapsulated
refs #81
2014-01-09 01:16:01 +00:00
Klaus Basan
f3758e5609 CContextNetwork builds up an ATIS as it is received, line-by-line
refs #81
2014-01-09 01:16:00 +00:00
Klaus Basan
37d1466a83 added CCallsign::m_callsignPronounced
refs #81
2014-01-09 01:15:59 +00:00
Klaus Basan
ee43f5598d new contexts
refs #81
2014-01-09 01:15:59 +00:00
Mathew Sutcliffe
0bad7bb2e8 Contexts' getRuntime method uses static_cast instead of reinterpret_cast.
This required a few changes in include order and forward declarations to fix the real reason why reinterpret_cast was mistakenly used.

refs #81
2014-01-09 01:15:58 +00:00
Klaus Basan
1c1fdabd2e all voice changes from kbatclist branch
refs #81
2014-01-09 01:15:58 +00:00
Klaus Basan
51cbd2a394 all app projects need QT+=network used by the core for downloading ATC bookings
refs #81
2014-01-09 01:15:57 +00:00
Klaus Basan
bb61654a29 style and consistency:
* rename CStatusMessages to CStatusMessageList
* rename NetworkVatlib to CNetworkVatlib
* replace all occurrences of Realname with RealName (correct camel case)
* CSequence method corresponding to CList::append is push_back
* don't compile the qdbuscpp2xml metadata plugin by default
* CAircraftIcao string members always trimmed and capitalized
* added CComSystem::roundTo25KHz
* using epsilon comparison in a couple of places

refs #81
2014-01-09 01:15:56 +00:00
Mathew Sutcliffe
b5c3a5543f update CNetworkVatlib to new shimlib version with Create static member function
refs #81
2014-01-08 01:01:31 +00:00
Klaus Basan
0c01da4c8e Minor changes such as parameter warnings, added metatype registration for voice
refs #81
2014-01-08 01:01:26 +00:00
Roland Winklmeier
db4a3c5de4 Refactoring and clean up of voice implementation
refs #36
- Cleanup of library and sample code
- Completed now all signals in voice sample
- Fixed minor bugs with the user list
- TODO: Remove the VATSIM id from the user string

refs #81
2014-01-08 01:01:23 +00:00