Ticket #9695: mythzmserver-host.patch

File mythzmserver-host.patch, 4.7 KB (added by otto@…, 10 years ago)
  • mythplugins/mythzoneminder/mythzmserver/zmserver.cpp

    diff --git a/mythplugins/mythzoneminder/mythzmserver/zmserver.cpp b/mythplugins/mythzoneminder/mythzmserver/zmserver.cpp
    index dd8a29c..7b91cf5 100644
    a b void ZMServer::handleGetMonitorStatus(void) 
    604604    MYSQL_RES *res;
    605605    MYSQL_ROW row;
    606606
    607     string sql("SELECT id, name, type, device, channel, function, enabled "
     607    string sql("SELECT Id, Name, Type, Device, Host, Channel, Function, Enabled "
    608608               "FROM Monitors;");
    609609    if (mysql_query(&g_dbConn, sql.c_str()))
    610610    {
    void ZMServer::handleGetMonitorStatus(void) 
    633633            string id = row[0];
    634634            string type = row[2];
    635635            string device = row[3];
    636             string channel = row[4];
    637             string function = row[5];
    638             string enabled = row[6];
     636            string host = row[4];
     637            string channel = row[5];
     638            string function = row[6];
     639            string enabled = row[7];
    639640            string name = row[1];
    640641            string events = "";
    641642            string zmcStatus = "";
    642643            string zmaStatus = "";
    643             getMonitorStatus(id, type, device, channel, function,
     644            getMonitorStatus(id, type, device, host, channel, function,
    644645                             zmcStatus, zmaStatus, enabled);
    645646            MYSQL_RES *res2;
    646647            MYSQL_ROW row2;
    string ZMServer::runCommand(string command) 
    707708    return outStr;
    708709}
    709710
    710 void ZMServer::getMonitorStatus(string id, string type, string device, string channel,
     711void ZMServer::getMonitorStatus(string id, string type, string device, string host, string channel,
    711712                                string function, string &zmcStatus, string &zmaStatus,
    712713                                string enabled)
    713714{
    void ZMServer::getMonitorStatus(string id, string type, string device, string ch 
    717718    string command(g_binPath + "/zmdc.pl status");
    718719    string status = runCommand(command);
    719720
    720     if (enabled == "0")
    721         zmaStatus = device + "(" + channel + ") [-]";
    722     else if (status.find("'zma -m " + id + "' running") != string::npos)
    723         zmaStatus = device + "(" + channel + ") [R]";
     721    if (type == "Local")
     722    {
     723        if (enabled == "0")
     724            zmaStatus = device + "(" + channel + ") [-]";
     725        else if (status.find("'zma -m " + id + "' running") != string::npos)
     726            zmaStatus = device + "(" + channel + ") [R]";
     727        else
     728            zmaStatus = device + "(" + channel + ") [S]";
     729    }
    724730    else
    725         zmaStatus = device + "(" + channel + ") [S]";
     731    {
     732        if (enabled == "0")
     733            zmaStatus = host + " [-]";
     734        else if (status.find("'zma -m " + id + "' running") != string::npos)
     735            zmaStatus = host + " [R]";
     736        else
     737            zmaStatus = host + " [S]";
     738    }
    726739
    727740    if (type == "Local")
    728741    {
    void ZMServer::getMonitorList(void) 
    12341247    m_monitors.clear();
    12351248
    12361249    string sql("SELECT Id, Name, Width, Height, ImageBufferCount, MaxFPS, Palette, ");
    1237     sql += " Type, Function, Enabled, Device, Controllable, TrackMotion ";
     1250    sql += " Type, Function, Enabled, Device, Host, Controllable, TrackMotion ";
    12381251    sql += "FROM Monitors";
    12391252
    12401253    MYSQL_RES *res;
    void ZMServer::getMonitorList(void) 
    12681281            m->function = row[8];
    12691282            m->enabled = atoi(row[9]);
    12701283            m->device = row[10];
    1271             m->controllable = atoi(row[11]);
    1272             m->trackMotion = atoi(row[12]);
     1284            m->host = row[11];
     1285            m->controllable = atoi(row[12]);
     1286            m->trackMotion = atoi(row[13]);
    12731287            m_monitors[m->mon_id] = m;
    12741288
    12751289            initMonitor(m);
  • mythplugins/mythzoneminder/mythzmserver/zmserver.h

    diff --git a/mythplugins/mythzoneminder/mythzmserver/zmserver.h b/mythplugins/mythzoneminder/mythzmserver/zmserver.h
    index 849f4ec..8fb6005 100644
    a b typedef struct 
    116116    string function;
    117117    int enabled;
    118118    string device;
     119    string host;
    119120    int image_buffer_count;
    120121    int width;
    121122    int height;
    class ZMServer 
    165166    void tokenize(const string &command, vector<string> &tokens);
    166167    void handleHello(void);
    167168    string runCommand(string command);
    168     void getMonitorStatus(string id, string type, string device, string channel,
     169    void getMonitorStatus(string id, string type, string device, string host, string channel,
    169170                          string function, string &zmcStatus, string &zmaStatus,
    170171                          string enabled);
    171172    void handleGetServerStatus(void);