mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-26 23:13:13 +02:00
Fix a bunch of "warning: type qualifiers ignored on function return type" (you see them with -Wall -Wextra). Still lots to fix. git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-experimental@103 e54a6e83-5905-42d5-8d5c-058d10e6a962
317 lines
7.3 KiB
C++
317 lines
7.3 KiB
C++
/*
|
|
Neutrino-GUI - DBoxII-Project
|
|
|
|
Copyright (C) 2001 Steffen Hehn 'McClean'
|
|
Homepage: http://dbox.cyberphoria.org/
|
|
|
|
Kommentar:
|
|
|
|
Diese GUI wurde von Grund auf neu programmiert und sollte nun vom
|
|
Aufbau und auch den Ausbaumoeglichkeiten gut aussehen. Neutrino basiert
|
|
auf der Client-Server Idee, diese GUI ist also von der direkten DBox-
|
|
Steuerung getrennt. Diese wird dann von Daemons uebernommen.
|
|
|
|
|
|
License: GPL
|
|
|
|
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 2 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, write to the Free Software
|
|
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
*/
|
|
|
|
#include <string.h>
|
|
|
|
#include <eventserver.h>
|
|
#include <controldclient/controldclient.h>
|
|
|
|
|
|
unsigned char CControldClient::getVersion () const
|
|
{
|
|
return CControldMsg::ACTVERSION;
|
|
}
|
|
|
|
const char * CControldClient::getSocketName() const
|
|
{
|
|
return CONTROLD_UDS_NAME;
|
|
}
|
|
|
|
void CControldClient::shutdown()
|
|
{
|
|
send(CControldMsg::CMD_SHUTDOWN);
|
|
close_connection();
|
|
}
|
|
|
|
void CControldClient::setBoxType(CControld::tuxbox_maker_t type)
|
|
{
|
|
CControldMsg::commandBoxType msg2;
|
|
|
|
msg2.boxtype = type;
|
|
|
|
send(CControldMsg::CMD_SETBOXTYPE, (char*)&msg2, sizeof(msg2));
|
|
|
|
close_connection();
|
|
}
|
|
|
|
CControld::tuxbox_maker_t CControldClient::getBoxType()
|
|
{
|
|
CControldMsg::responseBoxType rmsg;
|
|
|
|
send(CControldMsg::CMD_GETBOXTYPE);
|
|
|
|
if (!receive_data((char*)&rmsg, sizeof(rmsg)))
|
|
rmsg.boxtype = CControld::TUXBOX_MAKER_UNKNOWN;
|
|
|
|
close_connection();
|
|
|
|
return rmsg.boxtype;
|
|
}
|
|
|
|
void CControldClient::setScartMode(bool mode)
|
|
{
|
|
CControldMsg::commandScartMode msg2;
|
|
|
|
msg2.mode = mode;
|
|
|
|
send(CControldMsg::CMD_SETSCARTMODE, (char*)&msg2, sizeof(msg2));
|
|
|
|
close_connection();
|
|
}
|
|
|
|
char CControldClient::getScartMode()
|
|
{
|
|
CControldMsg::responseScartMode rmsg;
|
|
send(CControldMsg::CMD_GETSCARTMODE);
|
|
receive_data((char*)&rmsg, sizeof(rmsg));
|
|
close_connection();
|
|
|
|
return rmsg.mode;
|
|
}
|
|
|
|
void CControldClient::setVolume(const char volume, const CControld::volume_type volume_type)
|
|
{
|
|
CControldMsg::commandVolume msg2;
|
|
msg2.type = volume_type;
|
|
msg2.volume = volume;
|
|
send(CControldMsg::CMD_SETVOLUME, (char*)&msg2, sizeof(msg2));
|
|
close_connection();
|
|
}
|
|
|
|
char CControldClient::getVolume(const CControld::volume_type volume_type)
|
|
{
|
|
CControldMsg::commandVolume rmsg;
|
|
rmsg.type = volume_type;
|
|
send(CControldMsg::CMD_GETVOLUME, (char*)&rmsg, sizeof(rmsg));
|
|
receive_data((char*)&rmsg, sizeof(rmsg));
|
|
close_connection();
|
|
|
|
return rmsg.volume;
|
|
}
|
|
|
|
void CControldClient::setVideoFormat(char format)
|
|
{
|
|
CControldMsg::commandVideoFormat msg2;
|
|
|
|
msg2.format = format;
|
|
|
|
send(CControldMsg::CMD_SETVIDEOFORMAT, (char*)&msg2, sizeof(msg2));
|
|
|
|
close_connection();
|
|
}
|
|
|
|
char CControldClient::getAspectRatio()
|
|
{
|
|
CControldMsg::responseAspectRatio rmsg;
|
|
|
|
send(CControldMsg::CMD_GETASPECTRATIO);
|
|
|
|
receive_data((char*)&rmsg, sizeof(rmsg));
|
|
|
|
close_connection();
|
|
|
|
return rmsg.aspectRatio;
|
|
}
|
|
|
|
char CControldClient::getVideoFormat()
|
|
{
|
|
CControldMsg::responseVideoFormat rmsg;
|
|
|
|
send(CControldMsg::CMD_GETVIDEOFORMAT);
|
|
|
|
bool success = receive_data((char*)&rmsg, sizeof(rmsg));
|
|
|
|
close_connection();
|
|
|
|
return success ? rmsg.format : 2; /* default value is 2 (cf. controld.cpp) */
|
|
}
|
|
|
|
void CControldClient::setVideoOutput(char output)
|
|
{
|
|
CControldMsg::commandVideoOutput msg2;
|
|
|
|
msg2.output = output;
|
|
|
|
send(CControldMsg::CMD_SETVIDEOOUTPUT, (char*)&msg2, sizeof(msg2));
|
|
|
|
close_connection();
|
|
}
|
|
|
|
void CControldClient::setVCROutput(char output)
|
|
{
|
|
CControldMsg::commandVCROutput msg2;
|
|
|
|
msg2.vcr_output = output;
|
|
|
|
send(CControldMsg::CMD_SETVCROUTPUT, (char*)&msg2, sizeof(msg2));
|
|
|
|
close_connection();
|
|
}
|
|
|
|
char CControldClient::getVideoOutput()
|
|
{
|
|
CControldMsg::responseVideoOutput rmsg;
|
|
|
|
send(CControldMsg::CMD_GETVIDEOOUTPUT);
|
|
|
|
bool success = receive_data((char*)&rmsg, sizeof(rmsg));
|
|
|
|
close_connection();
|
|
|
|
return success ? rmsg.output : 1; /* default value is 1 (cf. controld.cpp) */
|
|
}
|
|
|
|
char CControldClient::getVCROutput()
|
|
{
|
|
CControldMsg::responseVCROutput rmsg;
|
|
|
|
send(CControldMsg::CMD_GETVCROUTPUT);
|
|
|
|
bool success = receive_data((char*)&rmsg, sizeof(rmsg));
|
|
|
|
close_connection();
|
|
|
|
return success ? rmsg.vcr_output : 1; /* default value is 1 (cf. controld.cpp) */
|
|
}
|
|
|
|
void CControldClient::Mute(const CControld::volume_type volume_type)
|
|
{
|
|
setMute(true,volume_type);
|
|
}
|
|
|
|
void CControldClient::UnMute(const CControld::volume_type volume_type)
|
|
{
|
|
setMute(false,volume_type);
|
|
}
|
|
|
|
void CControldClient::setMute(const bool mute, const CControld::volume_type volume_type)
|
|
{
|
|
CControldMsg::commandMute msg;
|
|
msg.mute = mute;
|
|
msg.type = volume_type;
|
|
send(CControldMsg::CMD_SETMUTE, (char*)&msg, sizeof(msg));
|
|
close_connection();
|
|
}
|
|
|
|
bool CControldClient::getMute(const CControld::volume_type volume_type)
|
|
{
|
|
CControldMsg::commandMute rmsg;
|
|
rmsg.type = volume_type;
|
|
send(CControldMsg::CMD_GETMUTESTATUS, (char*)&rmsg, sizeof(rmsg));
|
|
receive_data((char*)&rmsg, sizeof(rmsg));
|
|
close_connection();
|
|
return rmsg.mute;
|
|
}
|
|
|
|
void CControldClient::registerEvent(unsigned int eventID, unsigned int clientID, const char * const udsName)
|
|
{
|
|
CEventServer::commandRegisterEvent msg2;
|
|
|
|
msg2.eventID = eventID;
|
|
msg2.clientID = clientID;
|
|
strcpy(msg2.udsName, udsName);
|
|
|
|
send(CControldMsg::CMD_REGISTEREVENT, (char*)&msg2, sizeof(msg2));
|
|
|
|
close_connection();
|
|
}
|
|
|
|
void CControldClient::unRegisterEvent(unsigned int eventID, unsigned int clientID)
|
|
{
|
|
CEventServer::commandUnRegisterEvent msg2;
|
|
|
|
msg2.eventID = eventID;
|
|
msg2.clientID = clientID;
|
|
|
|
send(CControldMsg::CMD_UNREGISTEREVENT, (char*)&msg2, sizeof(msg2));
|
|
|
|
close_connection();
|
|
}
|
|
|
|
void CControldClient::videoPowerDown(bool powerdown)
|
|
{
|
|
CControldMsg::commandVideoPowerSave msg2;
|
|
|
|
msg2.powerdown = powerdown;
|
|
|
|
send(CControldMsg::CMD_SETVIDEOPOWERDOWN, (char*)&msg2, sizeof(msg2));
|
|
|
|
close_connection();
|
|
}
|
|
|
|
bool CControldClient::getVideoPowerDown()
|
|
{
|
|
CControldMsg::responseVideoPowerSave msg;
|
|
send(CControldMsg::CMD_GETVIDEOPOWERDOWN);
|
|
receive_data((char*) &msg, sizeof(msg));
|
|
close_connection();
|
|
return msg.videoPowerSave;
|
|
}
|
|
|
|
void CControldClient::saveSettings()
|
|
{
|
|
send(CControldMsg::CMD_SAVECONFIG);
|
|
close_connection();
|
|
}
|
|
|
|
void CControldClient::setRGBCsync(char val)
|
|
{
|
|
CControldMsg::commandCsync msg;
|
|
msg.csync = val;
|
|
send(CControldMsg::CMD_SETCSYNC, (char*) &msg, sizeof(msg));
|
|
close_connection();
|
|
}
|
|
|
|
char CControldClient::getRGBCsync()
|
|
{
|
|
CControldMsg::commandCsync msg;
|
|
send(CControldMsg::CMD_GETCSYNC);
|
|
receive_data((char*) &msg, sizeof(msg));
|
|
close_connection();
|
|
return msg.csync;
|
|
}
|
|
char CControldClient::getVideoMode()
|
|
{
|
|
CControldMsg::responseVideoFormat rmsg;
|
|
send(CControldMsg::CMD_GETVIDEOMODE);
|
|
bool success = receive_data((char*)&rmsg, sizeof(rmsg));
|
|
close_connection();
|
|
return success ? rmsg.format : 1; /* default value is 2 (cf. controld.cpp) */
|
|
}
|
|
void CControldClient::setVideoMode(char format)
|
|
{
|
|
CControldMsg::commandVideoFormat msg2;
|
|
msg2.format = format;
|
|
send(CControldMsg::CMD_SETVIDEOMODE, (char*)&msg2, sizeof(msg2));
|
|
close_connection();
|
|
}
|
|
|