(file) Return to ModuleController.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

Diff for /pegasus/src/Pegasus/Common/ModuleController.h between version 1.34.2.1 and 1.40

version 1.34.2.1, 2002/10/25 20:49:43 version 1.40, 2005/03/10 00:38:17
Line 1 
Line 1 
 //%///////////-*-c++-*-/////////////////////////////////////////////////////////  //%2005////////////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Company, IBM,  // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
 // The Open Group, Tivoli Systems  // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
   // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
   // IBM Corp.; EMC Corporation, The Open Group.
   // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
   // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
   // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   // EMC Corporation; VERITAS Software Corporation; The Open Group.
 // //
 // Permission is hereby granted, free of charge, to any person obtaining a copy // Permission is hereby granted, free of charge, to any person obtaining a copy
 // of this software and associated documentation files (the "Software"), to // of this software and associated documentation files (the "Software"), to
Line 23 
Line 29 
 // //
 // Author: Mike Day (mdday@us.ibm.com) <<< Wed Mar 13 20:49:40 2002 mdd >>> // Author: Mike Day (mdday@us.ibm.com) <<< Wed Mar 13 20:49:40 2002 mdd >>>
 // //
 // Modified By:  // Modified By: Amit K Arora, IBM (amita@in.ibm.com)
 // //
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
Line 42 
Line 48 
 #include <Pegasus/Common/MessageQueueService.h> #include <Pegasus/Common/MessageQueueService.h>
 #include <Pegasus/Common/peg_authorization.h> #include <Pegasus/Common/peg_authorization.h>
 #include <Pegasus/Common/Linkage.h> #include <Pegasus/Common/Linkage.h>
 #include <Pegasus/Common/String.h>  #include <Pegasus/Common/AutoPtr.h>
  
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
Line 101 
Line 107 
  
  
             Mutex _thread_safety;             Mutex _thread_safety;
             ModuleController *_controller;              AutoPtr<ModuleController> _controller;//PEP101
             String _name;             String _name;
             AtomicInt _reference_count;             AtomicInt _reference_count;
             AtomicInt _shutting_down;             AtomicInt _shutting_down;
Line 157 
Line 163 
  
    private:    private:
  
       module_rep *_rep;        AutoPtr<module_rep> _rep;//PEP101
  
       pegasus_module(void)       pegasus_module(void)
       {       {
Line 271 
Line 277 
             ~callback_handle()             ~callback_handle()
             {             {
                if( _module->get_name() == String(PEGASUS_MODULENAME_TEMP) )                if( _module->get_name() == String(PEGASUS_MODULENAME_TEMP) )
                   delete _module;                   // delete _module;
                    _module.reset();
             }             }
  
             pegasus_module * _module;              AutoPtr<pegasus_module> _module;//PEP101
             void *_parm;             void *_parm;
       };       };
  
Line 287 
Line 294 
 /*                     Sint16 min_threads,  */ /*                     Sint16 min_threads,  */
 /*                     Sint16 max_threads, */ /*                     Sint16 max_threads, */
 /*                     struct timeval & create_thread, */ /*                     struct timeval & create_thread, */
 /*                     struct timeval & destroy_thread, */  /*                     struct timeval & destroy_thread); */
 /*                     struct timeval & deadlock); */  
  
  
       ~ModuleController(void);       ~ModuleController(void);
Line 439 
Line 445 
       virtual void _handle_async_callback(AsyncOpNode *op);       virtual void _handle_async_callback(AsyncOpNode *op);
  
    private:    private:
   
   
         class _module_lock
         {
            public:
               _module_lock(DQueue<pegasus_module> * list)
                  :_list(list)
               {
                  _list->lock();
   
               }
               ~_module_lock(void)
               {
                  _list->unlock();
               }
   
   
            private:
               _module_lock();
               DQueue<pegasus_module> * _list;
         };
   
   
   
       static void _async_handleEnqueue(AsyncOpNode *h, MessageQueue *q, void *parm);       static void _async_handleEnqueue(AsyncOpNode *h, MessageQueue *q, void *parm);
       DQueue<pegasus_module> _modules;       DQueue<pegasus_module> _modules;
       pegasus_module _internal_module;       pegasus_module _internal_module;
Line 461 
Line 491 
  
  
  
   
   
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END
  
  


Legend:
Removed from v.1.34.2.1  
changed lines
  Added in v.1.40

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2