Changeset 388

Show
Ignore:
Timestamp:
10/06/08 07:27:53 (9 years ago)
Author:
rsteenson
Message:

And last but not least break the current client<->server connection protocol :)

  • Need to hook up functions to EventRouter? but that is not finished yet
Location:
capture-hpc/branches/dev/capture-client
Files:
7 modified

Legend:

Unmodified
Added
Removed
  • capture-hpc/branches/dev/capture-client/CaptureClient.cpp

    r387 r388  
    330330 
    331331 
    332 // Responds to a connect event from the server. It sends the virtual machine 
    333 // server id and virtual machine id this client is hosted on back to the server 
    334 void 
    335 CaptureClient::onServerConnectEvent(const std::wstring& event_type, const Element& e) 
    336 { 
    337         LOG(INFO, "CaptureClient: Received connect event"); 
    338         if(event_type == L"connect") 
    339         { 
    340                 server->sendData(L"<connect/>\r\n"); 
    341                 //std::vector<Attribute> attributes; 
    342                 //attributes.push_back(Attribute(L"vm-server-id", OptionsManager::getInstance()->getOption(L"vm-server-id"))); 
    343                 //attributes.push_back(Attribute(L"vm-id", OptionsManager::getInstance()->getOption(L"vm-id"))); 
    344                 //server->sendXML(L"connect", attributes); 
    345         } 
    346 } 
    347  
    348 // Sends a pong message back to the server when a ping is received 
    349 void 
    350 CaptureClient::onServerPingEvent(const std::wstring& event_type, const Element& e) 
    351 { 
    352         LOG(INFO, "CaptureClient: Received ping event"); 
    353         if(event_type == L"ping") 
    354         { 
    355                 //std::vector<Attribute> attributes; 
    356                 //server->sendXML(L"pong", attributes); 
    357         } 
    358 } 
    359  
    360  
    361  
    362  
    363  
     332//// Responds to a connect event from the server. It sends the virtual machine 
     333//// server id and virtual machine id this client is hosted on back to the server 
     334//void 
     335//CaptureClient::onServerConnectEvent(const std::wstring& event_type, const Element& e) 
     336//{ 
     337//      LOG(INFO, "CaptureClient: Received connect event"); 
     338//      if(event_type == L"connect") 
     339//      { 
     340//              server->sendData(L"<connect/>\r\n"); 
     341//              //std::vector<Attribute> attributes; 
     342//              //attributes.push_back(Attribute(L"vm-server-id", OptionsManager::getInstance()->getOption(L"vm-server-id"))); 
     343//              //attributes.push_back(Attribute(L"vm-id", OptionsManager::getInstance()->getOption(L"vm-id"))); 
     344//              //server->sendXML(L"connect", attributes); 
     345//      } 
     346//} 
     347// 
     348//// Sends a pong message back to the server when a ping is received 
     349//void 
     350//CaptureClient::onServerPingEvent(const std::wstring& event_type, const Element& e) 
     351//{ 
     352//      LOG(INFO, "CaptureClient: Received ping event"); 
     353//      if(event_type == L"ping") 
     354//      { 
     355//              //std::vector<Attribute> attributes; 
     356//              //server->sendXML(L"pong", attributes); 
     357//      } 
     358//} 
     359 
     360 
     361 
     362 
     363 
  • capture-hpc/branches/dev/capture-client/CaptureClient.h

    r387 r388  
    3030 
    3131        void onConnectionStatusChanged(bool connectionStatus); 
    32         void onServerConnectEvent(const std::wstring& event_type, const Element& e); 
    33         void onServerPingEvent(const std::wstring& event_type, const Element& e); 
     32        //void onServerConnectEvent(const std::wstring& event_type, const Element& e); 
     33        //void onServerPingEvent(const std::wstring& event_type, const Element& e); 
    3434 
    3535        Server* server; 
  • capture-hpc/branches/dev/capture-client/CaptureClient.vcproj

    r387 r388  
    388388                        > 
    389389                        <File 
    390                                 RelativePath=".\Element.cpp" 
    391                                 > 
    392                         </File> 
    393                         <File 
    394                                 RelativePath=".\Element.h" 
    395                                 > 
    396                         </File> 
    397                         <File 
    398390                                RelativePath=".\ElementHandler.h" 
    399391                                > 
     
    402394                                RelativePath=".\Expat.cpp" 
    403395                                > 
     396                                <FileConfiguration 
     397                                        Name="Debug|Win32" 
     398                                        ExcludedFromBuild="true" 
     399                                        > 
     400                                        <Tool 
     401                                                Name="VCCLCompilerTool" 
     402                                        /> 
     403                                </FileConfiguration> 
     404                                <FileConfiguration 
     405                                        Name="Release|Win32" 
     406                                        ExcludedFromBuild="true" 
     407                                        > 
     408                                        <Tool 
     409                                                Name="VCCLCompilerTool" 
     410                                        /> 
     411                                </FileConfiguration> 
    404412                        </File> 
    405413                        <File 
    406414                                RelativePath=".\Expat.h" 
    407415                                > 
     416                                <FileConfiguration 
     417                                        Name="Debug|Win32" 
     418                                        ExcludedFromBuild="true" 
     419                                        > 
     420                                        <Tool 
     421                                                Name="VCCustomBuildTool" 
     422                                        /> 
     423                                </FileConfiguration> 
     424                                <FileConfiguration 
     425                                        Name="Release|Win32" 
     426                                        ExcludedFromBuild="true" 
     427                                        > 
     428                                        <Tool 
     429                                                Name="VCCustomBuildTool" 
     430                                        /> 
     431                                </FileConfiguration> 
    408432                        </File> 
    409433                        <File 
  • capture-hpc/branches/dev/capture-client/ExclusionList.h

    r387 r388  
    11#pragma once 
    2 #include "Element.h" 
     2//#include "Element.h" 
    33#include <hash_map> 
    44#include <vector> 
     
    2626 
    2727        void AddExclusion(const std::wstring& type, const std::wstring& exclusion, bool permaneant); 
    28         void onExclusionReceived(const std::wstring& event_type, const Element& e) 
    29         { 
    30         } 
     28        //void onExclusionReceived(const std::wstring& event_type, const Element& e) 
     29        //{ 
     30        //} 
    3131 
    3232        bool Match(const wchar_t* eventName, stdext::hash_map<CRC, const wchar_t*>* eventInformation); 
  • capture-hpc/branches/dev/capture-client/Url.h

    r387 r388  
    2323 */ 
    2424#pragma once 
    25 #include "Element.h" 
     25//#include "Element.h" 
    2626#include "CaptureGlobal.h" 
    2727 
     
    4545        void setMinorErrorCode(unsigned long error) { minorErrorCode = error; } 
    4646 
    47         Element toElement(); 
     47        //Element toElement(); 
    4848 
    4949        inline const std::wstring getUrl() const { return url; } 
  • capture-hpc/branches/dev/capture-client/Visitor.cpp

    r387 r388  
    167167} 
    168168 
    169 Url* 
    170 Visitor::createUrl(const Element& urlElement) 
    171 { 
    172         std::wstring url; 
    173         std::wstring program; 
    174         int time = 0; 
    175  
    176         const AttributeMap& attributes = urlElement.GetAttributes(); 
    177  
    178         for(AttributeMap::const_iterator it = attributes.begin(); it != attributes.end(); it++) 
    179         { 
    180                 if(it->first == L"url")  
    181                 { 
    182                         url = it->second; 
    183                 } 
    184                 else if(it->first == L"program")  
    185                 { 
    186                         program = it->second; 
    187                 } 
    188                 else if(it->first == L"time")  
    189                 { 
    190                         time = StringHelper::StringToInteger(it->second.c_str()); 
    191                 } 
    192  
    193         } 
    194         return new Url(Url::decode(url), program, time); 
    195 } 
    196  
    197 void 
    198 Visitor::onServerEvent(const std::wstring& eventType, const Element& receivedEvent) 
    199 { 
    200         if(receivedEvent.GetName() != L"visit-event") 
    201         { 
    202                 LOG(WARN, "Visitor: Received unhandled event - %s", receivedEvent.GetName()); 
    203                 return; 
    204         } 
    205  
    206         LOG(INFO, "Visitor: Received visit event"); 
    207          
    208         const std::wstring& program = receivedEvent.GetAttribute(L"program"); 
    209         const std::wstring& identifier = receivedEvent.GetAttribute(L"identifier"); 
    210         int visitTime = StringHelper::StringToInteger(receivedEvent.GetAttribute(L"time").c_str()); 
    211  
    212         const ChildElementList& urls = receivedEvent.GetChildElements(); 
    213  
    214         if(urls.size() == 0) 
    215                 return; 
    216  
    217         VisitEvent visitEvent; 
    218  
    219         for(ChildElementList::const_iterator it = urls.begin(); it != urls.end(); it++) 
    220         { 
    221                 Element* urlElement = (*it); 
    222                  
    223                 if(urlElement->GetName() != L"item") 
    224                         continue; 
    225  
    226                 Url* url = createUrl(*urlElement); 
    227  
    228                 if(url) 
    229                 { 
    230                         // Force the visit time and program to the url event just in case 
    231                         // some supplied them in the item element 
    232                         url->setVisitTime(visitTime); 
    233                         url->setProgram(program); 
    234                         visitEvent.setProgram(program); 
    235                         visitEvent.addUrl(url); 
    236                 } 
    237         } 
    238  
    239          
    240         m_VisitQueue.Push(visitEvent);   
    241 } 
     169//Url* 
     170//Visitor::createUrl(const Element& urlElement) 
     171//{ 
     172//      std::wstring url; 
     173//      std::wstring program; 
     174//      int time = 0; 
     175// 
     176//      const AttributeMap& attributes = urlElement.GetAttributes(); 
     177// 
     178//      for(AttributeMap::const_iterator it = attributes.begin(); it != attributes.end(); it++) 
     179//      { 
     180//              if(it->first == L"url")  
     181//              { 
     182//                      url = it->second; 
     183//              } 
     184//              else if(it->first == L"program")  
     185//              { 
     186//                      program = it->second; 
     187//              } 
     188//              else if(it->first == L"time")  
     189//              { 
     190//                      time = StringHelper::StringToInteger(it->second.c_str()); 
     191//              } 
     192// 
     193//      } 
     194//      return new Url(Url::decode(url), program, time); 
     195//} 
     196 
     197//void 
     198//Visitor::onServerEvent(const std::wstring& eventType, const Element& receivedEvent) 
     199//{ 
     200//      if(receivedEvent.GetName() != L"visit-event") 
     201//      { 
     202//              LOG(WARN, "Visitor: Received unhandled event - %s", receivedEvent.GetName()); 
     203//              return; 
     204//      } 
     205// 
     206//      LOG(INFO, "Visitor: Received visit event"); 
     207//       
     208//      const std::wstring& program = receivedEvent.GetAttribute(L"program"); 
     209//      const std::wstring& identifier = receivedEvent.GetAttribute(L"identifier"); 
     210//      int visitTime = StringHelper::StringToInteger(receivedEvent.GetAttribute(L"time").c_str()); 
     211// 
     212//      const ChildElementList& urls = receivedEvent.GetChildElements(); 
     213// 
     214//      if(urls.size() == 0) 
     215//              return; 
     216// 
     217//      VisitEvent visitEvent; 
     218// 
     219//      for(ChildElementList::const_iterator it = urls.begin(); it != urls.end(); it++) 
     220//      { 
     221//              Element* urlElement = (*it); 
     222//               
     223//              if(urlElement->GetName() != L"item") 
     224//                      continue; 
     225// 
     226//              Url* url = createUrl(*urlElement); 
     227// 
     228//              if(url) 
     229//              { 
     230//                      // Force the visit time and program to the url event just in case 
     231//                      // some supplied them in the item element 
     232//                      url->setVisitTime(visitTime); 
     233//                      url->setProgram(program); 
     234//                      visitEvent.setProgram(program); 
     235//                      visitEvent.addUrl(url); 
     236//              } 
     237//      } 
     238// 
     239//       
     240//      m_VisitQueue.Push(visitEvent);   
     241//} 
  • capture-hpc/branches/dev/capture-client/Visitor.h

    r387 r388  
    2525#include "CaptureGlobal.h" 
    2626#include "Thread.h" 
    27 #include "Element.h" 
     27//#include "Element.h" 
    2828#include "Observable.h" 
    2929#include <vector> 
     
    6161 
    6262private: 
    63         void OnEvent(VisitEvent& visitEvent); 
     63        void OnEvent(VisitEvent& visitEvent) 
     64        { 
     65        } 
    6466 
    6567private: 
    6668        void LoadApplicationPlugins(); 
    6769        void UnloadApplicationPlugins(); 
    68         Url* createUrl(const Element& urlElement); 
     70        //Url* createUrl(const Element& urlElement); 
    6971        ApplicationPlugin* getApplicationPlugin(const std::wstring& applicationName); 
    7072 
    7173        void run(); 
    7274 
    73         void onServerEvent(const std::wstring& eventType, const Element& element); 
     75        //void onServerEvent(const std::wstring& eventType, const Element& element); 
    7476 
    7577        ApplicationPlugin* createApplicationPluginObject(HMODULE hPlugin);