diff options
Diffstat (limited to 'apps/drwho/PM_Client.cpp')
-rw-r--r-- | apps/drwho/PM_Client.cpp | 138 |
1 files changed, 0 insertions, 138 deletions
diff --git a/apps/drwho/PM_Client.cpp b/apps/drwho/PM_Client.cpp deleted file mode 100644 index 58f1d318adf..00000000000 --- a/apps/drwho/PM_Client.cpp +++ /dev/null @@ -1,138 +0,0 @@ -// $Id$ - -#include "Options.h" -#include "PM_Server.h" -#include "PM_Client.h" -#include "ace/ACE.h" -#include "ace/Log_Msg.h" - -// This function is used to merge the LOGIN_NAME from server HOST_NAME -// into the userids kept on the client's side. Note that we must -// allocate memory for HOST_NAME... - -Protocol_Record * -PM_Client::insert_protocol_info (Protocol_Record &protocol_record) -{ - Protocol_Record *prp = this->ss->insert (protocol_record.get_login ()); - Drwho_Node *current_node = protocol_record.get_drwho_list (); - Drwho_Node *np = this->get_drwho_node (ACE::strnew (current_node->get_host_name ()), - prp->drwho_list_); - - // Update the active and inactive counts. - - if (np->get_active_count () < current_node->get_active_count ()) - { - np->set_active_count (current_node->get_active_count ()); - prp->is_active_ = 1; - } - - if (np->get_inactive_count () < current_node->get_inactive_count()) - np->set_inactive_count (current_node->get_inactive_count ()); - - return prp; -} - -// This routine does all the dirty work, and actually prints out the -// friends info in a nicely formatted manner. - -void -PM_Client::process (void) -{ - const char *(Protocol_Record::*get_name)(void); - - if (Options::get_opt (Options::PRINT_LOGIN_NAME)) - get_name = &Protocol_Record::get_login; - else - get_name = &Protocol_Record::get_real; - - int active_friends = 0; - int users = this->Protocol_Manager::get_total_users (); - - ACE_DEBUG ((LM_DEBUG, - "------------------------\n")); - - if (Options::get_opt (Options::PRINT_LOGIN_NAME)) - this->max_key_length = MAXUSERIDNAMELEN; - - // Goes through the queue of all the logged in friends and prints - // out the associated information. - - for (Protocol_Record *prp = this->Protocol_Manager::get_each_friend (); - prp != 0; - prp = this->Protocol_Manager::get_each_friend ()) - { - ACE_DEBUG ((LM_DEBUG, - "%c%-*s [", (prp->is_active_ != 0 ? '*' : ' '), - this->max_key_length, - (prp->*get_name) ())); - - for (Drwho_Node *np = prp->get_drwho_list (); ;) - { - ACE_DEBUG ((LM_DEBUG, - np->get_host_name (), - stdout)); - - active_friends += np->get_active_count (); - - if (np->get_inactive_count () != 0) - { - if (np->get_active_count () != 0) - ACE_DEBUG ((LM_DEBUG, - "*(%d)", - np->get_active_count ())); - } - else if (np->get_active_count () > 1) - ACE_DEBUG ((LM_DEBUG, - "*(%d)", - np->get_active_count ())); - else if (np->get_active_count () == 1) - ACE_DEBUG ((LM_DEBUG, - "*")); - - np = np->next_; - if (np == 0) - break; - else - ACE_DEBUG ((LM_DEBUG, - " ")); - } - - ACE_DEBUG ((LM_DEBUG, - "]\n")); - } - - ACE_DEBUG ((LM_DEBUG, - "------------------------\n")); - ACE_DEBUG ((LM_DEBUG, - "friends: %d\tusers: %d\n", - active_friends, - users)); -} - -char * -PM_Client::handle_protocol_entries (const char *cp, - const char *login_name, - const char *real_name) -{ - static Protocol_Record protocol_record (1); - Drwho_Node *current_node = protocol_record.get_drwho_list (); - - protocol_record.set_login (login_name); - protocol_record.set_real (real_name); - current_node->set_inactive_count (atoi (cp)); - current_node->set_active_count (atoi (cp = ACE_OS::strchr (cp, ' ') + 1)); - current_node->set_host_name (cp = ACE_OS::strchr (cp, ' ') + 1); - - this->insert_protocol_info (protocol_record); - - return (char *) ACE::strend (cp); -} - -PM_Client::PM_Client (void) - : max_key_length (0) -{ -} - -PM_Client::~PM_Client (void) -{ -} |