Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Producer_Impl.h

Go to the documentation of this file.
00001 00030 // LogState includes all we need 00031 #include "LogState.h" 00032 #include "BP_CosLw_Log.h" 00033 #include <pthread.h> 00034 00035 00047 class LogProducer_Impl: virtual public POA_CosLwLog::LogProducer 00048 { 00049 00050 public: 00052 LogProducer_Impl(LogState& log_state); 00053 00055 virtual ~LogProducer_Impl(); 00056 00063 virtual void write_records( 00064 const CosLwLog::ProducerLogRecordSequence& records) 00065 throw(CORBA::SystemException); 00066 00073 virtual void write_record( 00074 const CosLwLog::ProducerLogRecord& record) 00075 throw(CORBA::SystemException); 00076 00081 virtual CORBA::ULongLong get_max_size() 00082 throw(CORBA::SystemException); 00083 00088 virtual CORBA::ULongLong get_current_size() 00089 throw(CORBA::SystemException); 00090 00095 virtual CORBA::ULongLong get_n_records() 00096 throw(CORBA::SystemException); 00097 00102 virtual CosLwLog::LogFullAction get_log_full_action() 00103 throw(CORBA::SystemException); 00104 00109 virtual CosLwLog::AvailabilityStatus get_availability_status() 00110 throw(CORBA::SystemException); 00111 00116 virtual CosLwLog::AdministrativeState get_administrative_state() 00117 throw(CORBA::SystemException); 00118 00123 virtual CosLwLog::OperationalState get_operational_state() 00124 throw(CORBA::SystemException); 00125 00126 private: 00127 LogState& _log_state; 00128 unsigned long _recordId; 00129 pthread_mutex_t write_recd_mutex; 00130 unsigned long _next_id(); 00131 00132 00133 };