Mercurial > hg > orthanc-stone
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 } |