Changeset 13764 for trunk


Ignore:
Timestamp:
05/17/12 20:18:38 (13 years ago)
Author:
tbretz
Message:
Propagate user name.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/FACT++/src/dimctrl.cc

    r13754 r13764  
    5353    map<string,string> fData;
    5454    string fScript;
     55    string fScriptUser;
    5556
    5657    void ProcessStart()
    5758    {
    58         if (!fScript.empty() || fLabel>=0)
     59        if (!fScript.empty() || fLabel>-3)
    5960        {
    6061            Error("Script execution still in progress.");
     
    8283        }
    8384
     85        const auto user = fData.find("user");
     86        if (user!=fData.end())
     87            fScriptUser = user->second;
     88
    8489        if (fDebug)
    8590        {
     
    95100        if (getCommand()==&fDimStop)
    96101        {
    97             Debug("Stop received");
     102            const string user = fDimStop.getSize()>0 ? fDimStop.getString() : "";
     103
     104            string msg = "Stop received";
     105            if (!user.empty())
     106                msg += " from user '"+user+"'";
     107
     108            Debug(msg);
    98109            Readline::SetLabel(-2);
    99110        }
     
    110121                  "|Text[string]:A human readable string sent by the last state change."),
    111122        fDimStart("DIM_CONTROL/START", "C", this),
    112         fDimStop("DIM_CONTROL/STOP", "", this)
     123        fDimStop("DIM_CONTROL/STOP", "C", this)
    113124    {
    114125    }
     
    181192
    182193            msg += ": "+Readline::GetScript()+" [";
    183             if (!fUser.empty())
    184                 msg += fUser+":"+pid.str();
     194            if (!fScriptUser.empty())
     195                msg += fScriptUser+":"+pid.str();
    185196            msg += "]";
    186197
     
    212223        fVerbosity = 90;
    213224
     225        fUser = conf.Get<string>("user");
     226        fScriptUser = fUser;
     227
    214228        if (conf.Get<bool>("stop"))
    215             return Dim::SendCommand("DIM_CONTROL/STOP") + 1;
     229            return Dim::SendCommand("DIM_CONTROL/STOP", fUser) + 1;
    216230
    217231        if (conf.Has("start"))
    218             return Dim::SendCommand("DIM_CONTROL/START", conf.Get<string>("start")) + 1;
     232            return Dim::SendCommand("DIM_CONTROL/START", conf.Get<string>("start")+" user="+fUser) + 1;
    219233
    220234        fVerbosity = 40;
     
    238252
    239253        fDebug = conf.Get<bool>("debug");
    240         fUser  = conf.Get<string>("user");
    241254
    242255        return -1;
     
    253266                Readline::Instance()->Execute(s, fData);
    254267                fScript = "";
     268                fScriptUser = fUser;
    255269            }
    256270
Note: See TracChangeset for help on using the changeset viewer.