1 #include "AliStorageAdministratorPanelSetStorageParams.h"
2 #include "AliStorageTypes.h"
11 AliStorageAdministratorPanelSetStorageParams *AliStorageAdministratorPanelSetStorageParams::fInstance=0;
13 ClassImp(AliStorageAdministratorPanelSetStorageParams);
15 #define WINDOWS_WIDTH 200
16 #define WINDOWS_HEIGHT 200
30 AliStorageAdministratorPanelSetStorageParams::AliStorageAdministratorPanelSetStorageParams() :
31 TGMainFrame(gClient->GetRoot(), 400, 400),
33 fMaxStorageSizeEntry(0),
34 fMaxOccupationEntry(0),
35 fRemoveEventsEntry(0),
36 fEventsInChunkEntry(0),
37 fClientSocket(CLIENT_COMMUNICATION_REQ),
40 fEventManager = AliStorageEventManager::GetEventManagerInstance();
41 fEventManager->CreateSocket(fClientSocket);
45 AliStorageAdministratorPanelSetStorageParams::~AliStorageAdministratorPanelSetStorageParams(){}
47 AliStorageAdministratorPanelSetStorageParams* AliStorageAdministratorPanelSetStorageParams::GetInstance()
49 if(!fInstance){fInstance = new AliStorageAdministratorPanelSetStorageParams();}
53 void AliStorageAdministratorPanelSetStorageParams::Setup(storageSockets socket, int maxStorageSize, int maxOccupation, int removeEvents, int eventsInChunk)
55 fClientSocket = socket;
56 fMaxStorageSizeEntry->SetIntNumber(maxStorageSize);
57 fMaxOccupationEntry->SetIntNumber(maxOccupation);
58 fRemoveEventsEntry->SetIntNumber(removeEvents);
59 fEventsInChunkEntry->SetIntNumber(eventsInChunk);
62 void AliStorageAdministratorPanelSetStorageParams::InitWindow()
64 SetCleanup(kDeepCleanup);
67 AddFrame(new TGLabel(this,"Max storage size (MB):"),new TGLayoutHints(kLHintsLeft));
69 fMaxStorageSizeEntry = new TGNumberEntry(this,
73 TGNumberFormat::kNESInteger,
74 TGNumberFormat::kNEAPositive,
75 TGNumberFormat::kNELNoLimits);
76 AddFrame(fMaxStorageSizeEntry,new TGLayoutHints(kLHintsLeft));
79 AddFrame(new TGLabel(this,"Max occupation percent (%):"),new TGLayoutHints(kLHintsLeft));
81 fMaxOccupationEntry = new TGNumberEntry(this,
85 TGNumberFormat::kNESInteger,
86 TGNumberFormat::kNEAPositive,
87 TGNumberFormat::kNELNoLimits);
88 AddFrame(fMaxOccupationEntry,new TGLayoutHints(kLHintsLeft));
90 // remove events percantage
91 AddFrame(new TGLabel(this,"Remove events percentage (%):"),new TGLayoutHints(kLHintsLeft));
93 fRemoveEventsEntry = new TGNumberEntry(this,
97 TGNumberFormat::kNESInteger,
98 TGNumberFormat::kNEAPositive,
99 TGNumberFormat::kNELNoLimits);
100 AddFrame(fRemoveEventsEntry,new TGLayoutHints(kLHintsLeft));
103 AddFrame(new TGLabel(this,"Number of events in file:"),new TGLayoutHints(kLHintsLeft));
105 fEventsInChunkEntry = new TGNumberEntry(this,
109 TGNumberFormat::kNESInteger,
110 TGNumberFormat::kNEAPositive,
111 TGNumberFormat::kNELNoLimits);
112 AddFrame(fEventsInChunkEntry,new TGLayoutHints(kLHintsLeft));
115 fStatusLabel = new TGLabel(this,"");
116 AddFrame(fStatusLabel,new TGLayoutHints(kLHintsExpandX | kLHintsLeft));
118 AddFrame(new TGTextButton(this,"Close",BUTTON_CLOSE),
119 new TGLayoutHints(kLHintsLeft));
121 AddFrame(new TGTextButton(this,"Set parameters",BUTTON_SET),
122 new TGLayoutHints(kLHintsRight));
125 SetWindowName("Set Storage Parameters");
127 Resize(WINDOWS_WIDTH,WINDOWS_HEIGHT);
134 void AliStorageAdministratorPanelSetStorageParams::onSetParamsButton()
137 struct clientRequestStruct *requestMessage = new struct clientRequestStruct;
138 //get run and event number from TGNumberEntries
139 requestMessage->messageType = REQUEST_SET_PARAMS;
140 requestMessage->maxStorageSize = fMaxStorageSizeEntry->GetIntNumber()*1000000;
141 requestMessage->maxOccupation = fMaxOccupationEntry->GetIntNumber();
142 requestMessage->removeEvents = fRemoveEventsEntry->GetIntNumber();
143 requestMessage->eventsInChunk = fEventsInChunkEntry->GetIntNumber();
145 fEventManager->Send(requestMessage,fClientSocket);
146 bool response = fEventManager->GetBool(fClientSocket);
150 fStatusLabel->SetText("Params set");
151 cout<<"ADMIN PANEL -- Params set succesfully"<<endl;
155 fStatusLabel->SetText("Couldn't set params");
156 cout<<"ADMIN PANEL -- Couldn't set params"<<endl;
160 void AliStorageAdministratorPanelSetStorageParams::onCloseButton(){onExit();}
161 void AliStorageAdministratorPanelSetStorageParams::CloseWindow(){onExit();}
163 void AliStorageAdministratorPanelSetStorageParams::onExit()
165 cout<<"Quiting set storage params";
166 if(fInstance){delete fInstance;fInstance=0;}
167 cout<<" -- OK"<<endl;
170 Bool_t AliStorageAdministratorPanelSetStorageParams::ProcessMessage(Long_t msg, Long_t parm1, Long_t)
172 switch (GET_MSG(msg))
175 switch (GET_SUBMSG(msg))
180 case BUTTON_CLOSE:onCloseButton();break;
181 case BUTTON_SET:onSetParamsButton();break;