@@ -58,15 +58,13 @@ namespace Plugin {
5858 _items.emplace (id, item);
5959 }
6060 }
61- Core::OptionalType<OBJECT> Get (KEY id )
61+ void Get (KEY id, Core::OptionalType<OBJECT>& result )
6262 {
6363 Core::SafeSyncType<Core::CriticalSection> lock (_lock);
64- Core::OptionalType<OBJECT> result;
6564 auto it = _items.find (id);
6665 if (it != _items.end ()) {
6766 result = it->second ;
6867 }
69- return result;
7068 }
7169 void Delete (KEY id)
7270 {
@@ -429,7 +427,8 @@ namespace Plugin {
429427 uint32_t SetDrmSessionState (uint32_t sessionId,
430428 State sessionState) override
431429 {
432- auto session = _parent._sessionStorage .Get (sessionId);
430+ Core::OptionalType<Session> session;
431+ _parent._sessionStorage .Get (sessionId, session);
433432 if (!session.IsSet ()) {
434433 return NoSuchSession;
435434 }
@@ -455,7 +454,8 @@ namespace Plugin {
455454 const string& licenseRequest,
456455 const string& initData, string& response) override
457456 {
458- auto session = _parent._sessionStorage .Get (sessionId);
457+ Core::OptionalType<Session> session;
458+ _parent._sessionStorage .Get (sessionId, session);
459459 if (!session.IsSet ()) {
460460 return NoSuchSession;
461461 }
@@ -492,7 +492,8 @@ namespace Plugin {
492492 uint32_t CloseDrmSession (uint32_t sessionId,
493493 string& /* response*/ ) override
494494 {
495- auto session = _parent._sessionStorage .Get (sessionId);
495+ Core::OptionalType<Session> session;
496+ _parent._sessionStorage .Get (sessionId, session);
496497 if (!session.IsSet ()) {
497498 return NoSuchSession;
498499 }
@@ -584,8 +585,8 @@ namespace Plugin {
584585 ASSERT (_secManager->Subscribe <OnAddWatermarkParams>(
585586 Timeout, _T (" onAddWatermark" ),
586587 [&](const OnAddWatermarkParams& params) {
587- auto session = _sessionStorage. Get (
588- params.SessionId );
588+ Core::OptionalType<Session> session;
589+ _sessionStorage. Get ( params.SessionId , session );
589590 if (!session.IsSet ()) {
590591 return ; // No such session
591592 }
@@ -621,13 +622,13 @@ namespace Plugin {
621622 ASSERT (_secManager->Subscribe <OnRemoveWatermarkParams>(
622623 Timeout, _T (" onRemoveWatermark" ),
623624 [&](const OnRemoveWatermarkParams& params) {
624- auto session = _sessionStorage. Get (
625- params.SessionId );
625+ Core::OptionalType<Session> session;
626+ _sessionStorage. Get ( params.SessionId , session );
626627 if (!session.IsSet ()) {
627628 return ; // No such session
628629 }
629- auto watermark = _watermarkStorage
630- .Get (params.GraphicId );
630+ Core::OptionalType<Watermark> watermark;
631+ _watermarkStorage .Get (params.GraphicId , watermark );
631632 if (!watermark.IsSet ()) {
632633 TRACE (Trace::Error,
633634 (_T (" no watermark %" PRIu32),
@@ -658,13 +659,13 @@ namespace Plugin {
658659 ASSERT (_secManager->Subscribe <OnDisplayWatermarkParams>(
659660 Timeout, _T (" onDisplayWatermark" ),
660661 [&](const OnDisplayWatermarkParams& params) {
661- auto session = _sessionStorage. Get (
662- params.SessionId );
662+ Core::OptionalType<Session> session;
663+ _sessionStorage. Get ( params.SessionId , session );
663664 if (!session.IsSet ()) {
664665 return ; // No such session
665666 }
666- auto watermark = _watermarkStorage
667- .Get (params.GraphicId );
667+ Core::OptionalType<Watermark> watermark;
668+ _watermarkStorage .Get (params.GraphicId , watermark );
668669 if (!watermark.IsSet ()) {
669670 TRACE (Trace::Error,
670671 (_T (" no watermark %" PRIu32),
@@ -692,8 +693,8 @@ namespace Plugin {
692693 ASSERT (_secManager->Subscribe <OnWatermarkSessionParams>(
693694 Timeout, _T (" onWatermarkSession" ),
694695 [&](const OnWatermarkSessionParams& params) {
695- auto session = _sessionStorage. Get (
696- params.SessionId );
696+ Core::OptionalType<Session> session;
697+ _sessionStorage. Get ( params.SessionId , session );
697698 if (!session.IsSet ()) {
698699 return ; // No such session
699700 }
@@ -713,13 +714,15 @@ namespace Plugin {
713714 ASSERT (_secManager->Subscribe <OnUpdateWatermarkParams>(
714715 Timeout, _T (" onUpdateWatermark" ),
715716 [&](const OnUpdateWatermarkParams& params) {
716- auto session = _sessionStorage. Get (
717- params.SessionId );
717+ Core::OptionalType<Session> session;
718+ _sessionStorage. Get ( params.SessionId , session );
718719 if (!session.IsSet ()) {
719720 return ; // No such session
720721 }
721722 auto id = params.GraphicId .Value ();
722- auto palette = _palettedImageDataStorage.Get (id);
723+ Core::OptionalType<Exchange::PalettedImageData>
724+ palette;
725+ _palettedImageDataStorage.Get (id, palette);
723726 if (!palette.IsSet ()) {
724727 TRACE (Trace::Error,
725728 (_T (" no palette %" PRIu32), id));
@@ -765,8 +768,8 @@ namespace Plugin {
765768 // which call ended, can be any. Can't take this
766769 // information as a response
767770 } else if (!params.Success ) {
768- auto watermark = _watermarkStorage
769- .Get (params.Id );
771+ Core::OptionalType<Watermark> watermark;
772+ _watermarkStorage .Get (params.Id , watermark );
770773 if (watermark.IsSet ()) {
771774 TRACE (Trace::Error,
772775 (_T (" %s %" PRIu32 " failed" ),
@@ -775,7 +778,8 @@ namespace Plugin {
775778 }
776779 } else if (params.Type == " create" ) {
777780 auto id = params.Id .Value ();
778- auto watermark = _watermarkStorage.Get (id);
781+ Core::OptionalType<Watermark> watermark;
782+ _watermarkStorage.Get (id, watermark);
779783 if (watermark.IsSet ()) {
780784 UpdateWatermarkParams out;
781785 out.Id = params.Id ;
@@ -805,7 +809,8 @@ namespace Plugin {
805809 }
806810 } else if (params.Type == " update" ) {
807811 auto id = params.Id .Value ();
808- auto watermark = _watermarkStorage.Get (id);
812+ Core::OptionalType<Watermark> watermark;
813+ _watermarkStorage.Get (id, watermark);
809814 if (watermark.IsSet ()
810815 && watermark.Value ()
811816 .AdjustVisibilityRequired ) {
@@ -890,11 +895,12 @@ namespace Plugin {
890895 ASSERT (_watermark->Subscribe <OnWatermarkRenderFailedParams>(
891896 Timeout, _T (" onWatermarkRenderFailed" ),
892897 [&](const OnWatermarkRenderFailedParams& params) {
893- auto watermark = _watermarkStorage
894- .Get (params.Image );
898+ Core::OptionalType<Watermark> watermark;
899+ _watermarkStorage .Get (params.Image , watermark );
895900 if (watermark.IsSet ()) {
896- auto session = _sessionStorage.Get (
897- watermark.Value ().SessionId );
901+ Core::OptionalType<Session> session;
902+ _sessionStorage.Get (watermark.Value ().SessionId ,
903+ session);
898904 if (!session.IsSet ()) {
899905 TRACE (Trace::Error,
900906 (_T (" no session %" PRIu32),
0 commit comments