4
Fork 0

Moved from MySQL to new set of D-BUS methods to retreive station call / ID

This commit is contained in:
Artem Prilutskiy 2017-06-13 11:36:22 +03:00
parent f9bcb35800
commit b99aeaa581
17 changed files with 294 additions and 424 deletions

View file

@ -16,7 +16,6 @@
BrandMeisterBridge::BrandMeisterBridge()
{
proxy = NULL;
store = NULL;
talker = NULL;
unknown = ECHOLINK_DEFAULT_USER_NUMBER;
}
@ -24,7 +23,6 @@ BrandMeisterBridge::BrandMeisterBridge()
BrandMeisterBridge::~BrandMeisterBridge()
{
DELETE(proxy);
DELETE(store);
free(talker);
}
@ -44,15 +42,9 @@ void BrandMeisterBridge::setProxyConfiguration(const char* configuration)
proxy = new PatchCordProxy(network, link);
}
void BrandMeisterBridge::setStoreConfiguration(const char* configuration)
{
store = new UserDataStore(configuration);
}
const char* BrandMeisterBridge::getTalker()
{
if ((proxy == NULL) ||
(store == NULL))
if (proxy == NULL)
{
syslog(LOG_ERR, "BrandMeister bridge is not configured");
return ECHOLINK_DEFAULT_USER_CALL;
@ -64,7 +56,7 @@ const char* BrandMeisterBridge::getTalker()
char call[LONG_CALLSIGN_LENGTH];
char text[SLOW_DATA_TEXT_LENGTH];
if ((number != 0) &&
(store->getCredentialsForID(number, call, text)))
(proxy->getCredentialsForID(number, call, text)))
{
asprintf(&talker, "%s %s", call, text);
return talker;
@ -76,8 +68,7 @@ const char* BrandMeisterBridge::getTalker()
void BrandMeisterBridge::setTalker(const char* call, const char* name)
{
if ((proxy == NULL) ||
(store == NULL))
if (proxy == NULL)
{
syslog(LOG_ERR, "BrandMeister bridge is not configured");
return;
@ -109,7 +100,7 @@ void BrandMeisterBridge::setTalker(const char* call, const char* name)
name = buffer;
}
uint32_t number = store->getPrivateIDForCall(call);
uint32_t number = proxy->getPrivateIDForCall(call);
if (number == 0)
number = unknown;
@ -125,8 +116,7 @@ void BrandMeisterBridge::handleChatMessage(const char* text)
// UB3AMO Moscow T I N A O
// ->UA0LQE-L USSURIISK
if ((proxy == NULL) ||
(store == NULL))
if (proxy == NULL)
{
syslog(LOG_ERR, "BrandMeister bridge is not configured");
return;
@ -144,7 +134,7 @@ void BrandMeisterBridge::handleChatMessage(const char* text)
{
syslog(LOG_INFO, "Set talker ID to %d (call-sign was not fit into chat message)", unknown);
proxy->setTalkerID(unknown);
proxy->setTalkerAlias("<unknown>");
proxy->setTalkerAlias("");
}
}
}