comparison Framework/Oracle/ThreadedOracle.cpp @ 1298:8a0a62189f46

replacing std::auto_ptr by std::unique_ptr
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 02 Mar 2020 16:31:30 +0100
parents 2d8ab34c8c91
children 257f2c9a02ac
comparison
equal deleted inserted replaced
1296:86400fa16091 1298:8a0a62189f46
38 { 38 {
39 class ThreadedOracle::Item : public Orthanc::IDynamicObject 39 class ThreadedOracle::Item : public Orthanc::IDynamicObject
40 { 40 {
41 private: 41 private:
42 const IObserver& receiver_; 42 const IObserver& receiver_;
43 std::auto_ptr<IOracleCommand> command_; 43 std::unique_ptr<IOracleCommand> command_;
44 44
45 public: 45 public:
46 Item(const IObserver& receiver, 46 Item(const IObserver& receiver,
47 IOracleCommand* command) : 47 IOracleCommand* command) :
48 receiver_(receiver), 48 receiver_(receiver),
72 private: 72 private:
73 class Item 73 class Item
74 { 74 {
75 private: 75 private:
76 const IObserver& receiver_; 76 const IObserver& receiver_;
77 std::auto_ptr<SleepOracleCommand> command_; 77 std::unique_ptr<SleepOracleCommand> command_;
78 boost::posix_time::ptime expiration_; 78 boost::posix_time::ptime expiration_;
79 79
80 public: 80 public:
81 Item(const IObserver& receiver, 81 Item(const IObserver& receiver,
82 SleepOracleCommand* command) : 82 SleepOracleCommand* command) :
308 } 308 }
309 309
310 310
311 void ThreadedOracle::Step() 311 void ThreadedOracle::Step()
312 { 312 {
313 std::auto_ptr<Orthanc::IDynamicObject> object(queue_.Dequeue(100)); 313 std::unique_ptr<Orthanc::IDynamicObject> object(queue_.Dequeue(100));
314 314
315 if (object.get() != NULL) 315 if (object.get() != NULL)
316 { 316 {
317 Item& item = dynamic_cast<Item&>(*object); 317 Item& item = dynamic_cast<Item&>(*object);
318 318
322 { 322 {
323 case IOracleCommand::Type_Sleep: 323 case IOracleCommand::Type_Sleep:
324 { 324 {
325 SleepOracleCommand& command = dynamic_cast<SleepOracleCommand&>(item.GetCommand()); 325 SleepOracleCommand& command = dynamic_cast<SleepOracleCommand&>(item.GetCommand());
326 326
327 std::auto_ptr<SleepOracleCommand> copy(new SleepOracleCommand(command.GetDelay())); 327 std::unique_ptr<SleepOracleCommand> copy(new SleepOracleCommand(command.GetDelay()));
328 328
329 if (command.HasPayload()) 329 if (command.HasPayload())
330 { 330 {
331 copy->SetPayload(command.ReleasePayload()); 331 copy->SetPayload(command.ReleasePayload());
332 } 332 }