Client program which allows the snooping of objects from a spyserv process.
class Spy {
private:
public:
Spy();
~Spy();
void Connect();
void DoButton();
};
void Spy::DoButton()
{
return;
case 1:
break;
case 2:
fSock->
Send(
"get hpxpy");
break;
case 3:
fSock->
Send(
"get hprof");
break;
}
if (fSock->
Recv(mess) <= 0) {
Error(
"Spy::DoButton",
"error receiving message");
return;
}
if (fHist) delete fHist;
else
}
delete mess;
}
void Spy::Connect()
{
fSock =
new TSocket(
"localhost", 9090);
}
Spy::Spy()
{
fMain->AddFrame(fCanvas, fLcan);
fMain->AddFrame(fHorz, fLhorz);
fHpx->
Connect(
"Clicked()",
"Spy",
this,
"DoButton()");
fHpxpy->
Connect(
"Clicked()",
"Spy",
this,
"DoButton()");
fHprof->
Connect(
"Clicked()",
"Spy",
this,
"DoButton()");
fMain->AddFrame(fHorz2, fLhorz);
fConnect->
Connect(
"Clicked()",
"Spy",
this,
"Connect()");
fMain->SetWindowName("Spy on SpyServ");
fMain->MapSubwindows();
fMain->Resize(fMain->GetDefaultSize());
fMain->MapWindow();
fHist = 0;
}
Spy::~Spy()
{
delete fHist;
delete fSock;
delete fLbut;
delete fLhorz;
delete fLcan;
delete fHpx;
delete fHpxpy;
delete fHprof;
delete fConnect;
delete fQuit;
delete fHorz;
delete fHorz2;
delete fCanvas;
delete fMain;
}
void spy()
{
new Spy;
}
#define RQ_OBJECT(sender_class)
void Error(const char *location, const char *msgfmt,...)
Use this function in case an error occurred.
R__EXTERN void * gTQSender
TObject * ReadObject(const TClass *cl) override
Read object from I/O buffer.
void Update() override
Update canvas pad buffers.
Bool_t InheritsFrom(const char *cl) const override
Return kTRUE if this class inherits from a class with name "classname".
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=nullptr)
Add frame to the composite frame using the specified layout hints.
A composite frame that layout their children in horizontal way.
This class describes layout hints used by the layout classes.
Defines top level windows that interact with the system Window Manager.
Yield an action as soon as it is clicked.
TH1 is the base class of all histogram classes in ROOT.
void Draw(Option_t *option="") override
Draw this histogram with options.
TClass * GetClass() const
void Modified(Bool_t flag=1) override
Bool_t Connect(const char *signal, const char *receiver_class, void *receiver, const char *slot)
Non-static method is used to connect from the signal of this object to the receiver slot.
This class creates a TGCanvas in which a TCanvas is created.
TCanvas * GetCanvas() const
virtual Int_t Recv(TMessage *&mess)
Receive a TMessage object.
virtual Bool_t IsValid() const
virtual Int_t Send(const TMessage &mess)
Send a TMessage object.