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

Diff for /pegasus/src/Pegasus/Common/AsyncOpNode.h between version 1.3 and 1.4

version 1.3, 2001/12/14 21:04:02 version 1.4, 2001/12/16 02:43:33
Line 63 
Line 63 
 #define ASYNC_OPSTATE_PAUSED            0x00000200 #define ASYNC_OPSTATE_PAUSED            0x00000200
 #define ASYNC_OPSTATE_SUSPENDED         0x00000400 #define ASYNC_OPSTATE_SUSPENDED         0x00000400
 #define ASYNC_OPSTATE_RESUMED           0x00000800 #define ASYNC_OPSTATE_RESUMED           0x00000800
   #define ASYNC_OPSTATE_ORPHANED          0X00001000
 // we need a nak response message, with an error code and exception  
 // so that the dispatcher can receive a nak from the provider manager  
   
  
  
  
Line 83 
Line 80 
  
       OperationContext & get_context(void) ;       OperationContext & get_context(void) ;
  
       void put_request(Message *request) ;        void put_request(const Message *request) ;
       Message *get_request(void) ;        const Message *get_request(void) ;
  
       void put_response(Message *response) ;        void put_response(const Message *response) ;
       Message *get_response(void) ;        const Message *get_response(void) ;
  
       Uint32 read_state(void) ;       Uint32 read_state(void) ;
       void write_state(Uint32) ;       void write_state(Uint32) ;
Line 162 
Line 159 
    return false;    return false;
 } }
  
 // note: lock the op node before using the context  // context is now a locked list
 inline OperationContext & AsyncOpNode::get_context(void) inline OperationContext & AsyncOpNode::get_context(void)
 { {
    return _operation_list;    return _operation_list;
 } }
  
  
 inline  void AsyncOpNode::put_request(Message *request)  inline  void AsyncOpNode::put_request(const Message *request)
 { {
    _mut.lock(pegasus_thread_self());    _mut.lock(pegasus_thread_self());
    _request = request;     _request = const_cast<Message *>(request);
    _mut.unlock();    _mut.unlock();
  
 } }
  
 inline  Message * AsyncOpNode::get_request(void)  inline const Message * AsyncOpNode::get_request(void)
 { {
    Message *req = 0;    Message *req = 0;
    _mut.lock(pegasus_thread_self());    _mut.lock(pegasus_thread_self());
Line 186 
Line 183 
    return req;    return req;
 } }
  
 inline  void AsyncOpNode::put_response(Message *response)  inline void AsyncOpNode::put_response(const Message *response)
 { {
    _mut.lock(pegasus_thread_self());    _mut.lock(pegasus_thread_self());
    _response = response;     _response = const_cast<Message *>(response);
    _mut.unlock();    _mut.unlock();
  
 } }
  
 inline  Message * AsyncOpNode::get_response(void)  inline const Message * AsyncOpNode::get_response(void)
 { {
    Message *resp;    Message *resp;
    _mut.lock(pegasus_thread_self());    _mut.lock(pegasus_thread_self());
Line 386 
Line 383 
    _children.remove(child);    _children.remove(child);
 } }
  
 // need to have a handle to the manager; i.e., provider manager,  
 // service manager, repository manager.  
 // handle must support the cancellation of aysnchronous operations.  
 // manager->cancel_operation();  
 // manager->suspend_operation();  
 // manager->resume_operation();  
  
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END
  


Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2