aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiguel Borges de Freitas <92enen@gmail.com>2024-02-09 21:15:01 +0000
committerGitHub <noreply@github.com>2024-02-09 21:15:01 +0000
commit533bc0300834642957fd09b155d329d9b885d6f3 (patch)
tree4ba1f4eeec033b7ae2d29fc62c69c3b127794890
parent90241a2a6924476f598b68773320db8378e21636 (diff)
parentf0274966e17f64bc51fdd02cdb5e9152965ba82b (diff)
Merge pull request #24676 from enen92/kill_typedef
Kill CGUIListItemPtr typedef
-rw-r--r--xbmc/GUIInfoManager.cpp21
-rw-r--r--xbmc/GUIInfoManager.h3
-rw-r--r--xbmc/application/Application.cpp3
-rw-r--r--xbmc/application/Application.h2
-rw-r--r--xbmc/games/controllers/listproviders/GUIGameControllerProvider.cpp4
-rw-r--r--xbmc/games/controllers/listproviders/GUIGameControllerProvider.h8
-rw-r--r--xbmc/games/dialogs/osd/DialogInGameSaves.cpp9
-rw-r--r--xbmc/games/dialogs/osd/DialogInGameSaves.h4
-rw-r--r--xbmc/guilib/GUIAction.cpp4
-rw-r--r--xbmc/guilib/GUIAction.h6
-rw-r--r--xbmc/guilib/GUIBaseContainer.cpp31
-rw-r--r--xbmc/guilib/GUIBaseContainer.h15
-rw-r--r--xbmc/guilib/GUIMessage.cpp6
-rw-r--r--xbmc/guilib/GUIMessage.h10
-rw-r--r--xbmc/guilib/GUIPanelContainer.cpp6
-rw-r--r--xbmc/guilib/GUIWrappingListContainer.cpp2
-rw-r--r--xbmc/guilib/IGUIContainer.h4
-rw-r--r--xbmc/guilib/guiinfo/GUIInfoHelper.cpp7
-rw-r--r--xbmc/guilib/guiinfo/GUIInfoHelper.h6
-rw-r--r--xbmc/guilib/listproviders/DirectoryProvider.cpp10
-rw-r--r--xbmc/guilib/listproviders/DirectoryProvider.h10
-rw-r--r--xbmc/guilib/listproviders/IListProvider.h11
-rw-r--r--xbmc/guilib/listproviders/MultiProvider.cpp12
-rw-r--r--xbmc/guilib/listproviders/MultiProvider.h10
-rw-r--r--xbmc/guilib/listproviders/StaticProvider.cpp4
-rw-r--r--xbmc/guilib/listproviders/StaticProvider.h8
-rw-r--r--xbmc/interfaces/legacy/Control.cpp2
-rw-r--r--xbmc/pvr/guilib/GUIEPGGridContainer.cpp11
-rw-r--r--xbmc/pvr/guilib/GUIEPGGridContainer.h2
29 files changed, 125 insertions, 106 deletions
diff --git a/xbmc/GUIInfoManager.cpp b/xbmc/GUIInfoManager.cpp
index 78a2ecd33a..cc47a0ffa3 100644
--- a/xbmc/GUIInfoManager.cpp
+++ b/xbmc/GUIInfoManager.cpp
@@ -10798,7 +10798,7 @@ std::string CGUIInfoManager::GetLabel(int info, int contextWindow, std::string *
}
else if (info >= LISTITEM_START && info <= LISTITEM_END)
{
- const CGUIListItemPtr item = GUIINFO::GetCurrentListItem(contextWindow);
+ const std::shared_ptr<CGUIListItem> item = GUIINFO::GetCurrentListItem(contextWindow);
if (item && item->IsFileItem())
return GetItemLabel(static_cast<CFileItem*>(item.get()), contextWindow, info, fallback);
}
@@ -10816,7 +10816,7 @@ bool CGUIInfoManager::GetInt(int &value, int info, int contextWindow, const CGUI
}
else if (info >= LISTITEM_START && info <= LISTITEM_END)
{
- CGUIListItemPtr itemPtr;
+ std::shared_ptr<CGUIListItem> itemPtr;
if (!item)
{
itemPtr = GUIINFO::GetCurrentListItem(contextWindow);
@@ -10857,7 +10857,9 @@ void CGUIInfoManager::UnRegister(const INFO::InfoPtr& expression)
m_bools.erase(expression);
}
-bool CGUIInfoManager::EvaluateBool(const std::string &expression, int contextWindow /* = 0 */, const CGUIListItemPtr &item /* = nullptr */)
+bool CGUIInfoManager::EvaluateBool(const std::string& expression,
+ int contextWindow /* = 0 */,
+ const std::shared_ptr<CGUIListItem>& item /* = nullptr */)
{
INFO::InfoPtr info = Register(expression, contextWindow);
if (info)
@@ -10872,7 +10874,7 @@ bool CGUIInfoManager::GetBool(int condition1, int contextWindow, const CGUIListI
if (condition >= LISTITEM_START && condition < LISTITEM_END)
{
- CGUIListItemPtr itemPtr;
+ std::shared_ptr<CGUIListItem> itemPtr;
if (!item)
{
itemPtr = GUIINFO::GetCurrentListItem(contextWindow);
@@ -10901,7 +10903,7 @@ bool CGUIInfoManager::GetMultiInfoBool(const CGUIInfo &info, int contextWindow,
if (condition >= LISTITEM_START && condition <= LISTITEM_END)
{
- CGUIListItemPtr itemPtr;
+ std::shared_ptr<CGUIListItem> itemPtr;
if (!item)
{
itemPtr = GUIINFO::GetCurrentListItem(contextWindow, info.GetData1(), info.GetData2(), info.GetInfoFlag());
@@ -10942,7 +10944,7 @@ bool CGUIInfoManager::GetMultiInfoBool(const CGUIInfo &info, int contextWindow,
if (info.GetData2() < 0) // info labels are stored with negative numbers
{
int info2 = -info.GetData2();
- CGUIListItemPtr item2;
+ std::shared_ptr<CGUIListItem> item2;
if (IsListItemInfo(info2))
{
@@ -11047,7 +11049,7 @@ bool CGUIInfoManager::GetMultiInfoInt(int &value, const CGUIInfo &info, int cont
}
else if (info.m_info >= LISTITEM_START && info.m_info <= LISTITEM_END)
{
- CGUIListItemPtr itemPtr;
+ std::shared_ptr<CGUIListItem> itemPtr;
if (!item)
{
itemPtr = GUIINFO::GetCurrentListItem(contextWindow, info.GetData1(), info.GetData2(), info.GetInfoFlag());
@@ -11082,7 +11084,8 @@ std::string CGUIInfoManager::GetMultiInfoLabel(const CGUIInfo &constinfo, int co
if (info.m_info >= LISTITEM_START && info.m_info <= LISTITEM_END)
{
- const CGUIListItemPtr item = GUIINFO::GetCurrentListItem(contextWindow, info.GetData1(), info.GetData2(), info.GetInfoFlag());
+ const std::shared_ptr<CGUIListItem> item = GUIINFO::GetCurrentListItem(
+ contextWindow, info.GetData1(), info.GetData2(), info.GetInfoFlag());
if (item)
{
// Image prioritizes images over labels (in the case of music item ratings for instance)
@@ -11127,7 +11130,7 @@ std::string CGUIInfoManager::GetImage(int info, int contextWindow, std::string *
info == LISTITEM_OVERLAY ||
info == LISTITEM_ART)
{
- const CGUIListItemPtr item = GUIINFO::GetCurrentListItem(contextWindow);
+ const std::shared_ptr<CGUIListItem> item = GUIINFO::GetCurrentListItem(contextWindow);
if (item && item->IsFileItem())
return GetItemImage(item.get(), contextWindow, info, fallback);
}
diff --git a/xbmc/GUIInfoManager.h b/xbmc/GUIInfoManager.h
index 109828137f..4c5fd70868 100644
--- a/xbmc/GUIInfoManager.h
+++ b/xbmc/GUIInfoManager.h
@@ -24,7 +24,6 @@ class CFileItem;
class CVideoInfoTag;
class CGUIListItem;
-typedef std::shared_ptr<CGUIListItem> CGUIListItemPtr;
namespace KODI
{
@@ -99,7 +98,7 @@ public:
*/
bool EvaluateBool(const std::string& expression,
int context,
- const CGUIListItemPtr& item = nullptr);
+ const std::shared_ptr<CGUIListItem>& item = nullptr);
int TranslateString(const std::string &strCondition);
int TranslateSingleString(const std::string &strCondition, bool &listItemDependent);
diff --git a/xbmc/application/Application.cpp b/xbmc/application/Application.cpp
index 75406ac2d0..8404df41e3 100644
--- a/xbmc/application/Application.cpp
+++ b/xbmc/application/Application.cpp
@@ -3068,7 +3068,8 @@ bool CApplication::OnMessage(CGUIMessage& message)
return false;
}
-bool CApplication::ExecuteXBMCAction(std::string actionStr, const CGUIListItemPtr &item /* = NULL */)
+bool CApplication::ExecuteXBMCAction(std::string actionStr,
+ const std::shared_ptr<CGUIListItem>& item /* = NULL */)
{
// see if it is a user set string
diff --git a/xbmc/application/Application.h b/xbmc/application/Application.h
index 5703e7727c..397506e5dc 100644
--- a/xbmc/application/Application.h
+++ b/xbmc/application/Application.h
@@ -167,7 +167,7 @@ public:
void UpdateCurrentPlayArt();
- bool ExecuteXBMCAction(std::string action, const CGUIListItemPtr &item = NULL);
+ bool ExecuteXBMCAction(std::string action, const std::shared_ptr<CGUIListItem>& item = NULL);
#ifdef HAS_OPTICAL_DRIVE
std::unique_ptr<MEDIA_DETECT::CAutorun> m_Autorun;
diff --git a/xbmc/games/controllers/listproviders/GUIGameControllerProvider.cpp b/xbmc/games/controllers/listproviders/GUIGameControllerProvider.cpp
index 31fc50380b..2f804dcbff 100644
--- a/xbmc/games/controllers/listproviders/GUIGameControllerProvider.cpp
+++ b/xbmc/games/controllers/listproviders/GUIGameControllerProvider.cpp
@@ -65,7 +65,7 @@ bool CGUIGameControllerProvider::Update(bool forceRefresh)
return bDirty;
}
-void CGUIGameControllerProvider::Fetch(std::vector<CGUIListItemPtr>& items)
+void CGUIGameControllerProvider::Fetch(std::vector<std::shared_ptr<CGUIListItem>>& items)
{
items = m_items;
}
@@ -125,7 +125,7 @@ void CGUIGameControllerProvider::UpdateItems()
int portIndex = -1;
for (unsigned int i = 0; i < static_cast<unsigned int>(m_items.size()); ++i)
{
- CGUIListItemPtr& guiItem = m_items.at(i);
+ std::shared_ptr<CGUIListItem>& guiItem = m_items.at(i);
// Pad list if aligning to the right
if (m_alignment == XBFONT_RIGHT && i + m_portCount < MAX_PORT_COUNT)
diff --git a/xbmc/games/controllers/listproviders/GUIGameControllerProvider.h b/xbmc/games/controllers/listproviders/GUIGameControllerProvider.h
index 603078781c..078cf06360 100644
--- a/xbmc/games/controllers/listproviders/GUIGameControllerProvider.h
+++ b/xbmc/games/controllers/listproviders/GUIGameControllerProvider.h
@@ -64,10 +64,10 @@ public:
// Implementation of IListProvider
std::unique_ptr<IListProvider> Clone() override;
bool Update(bool forceRefresh) override;
- void Fetch(std::vector<CGUIListItemPtr>& items) override;
- bool OnClick(const CGUIListItemPtr& item) override { return false; }
- bool OnInfo(const CGUIListItemPtr& item) override { return false; }
- bool OnContextMenu(const CGUIListItemPtr& item) override { return false; }
+ void Fetch(std::vector<std::shared_ptr<CGUIListItem>>& items) override;
+ bool OnClick(const std::shared_ptr<CGUIListItem>& item) override { return false; }
+ bool OnInfo(const std::shared_ptr<CGUIListItem>& item) override { return false; }
+ bool OnContextMenu(const std::shared_ptr<CGUIListItem>& item) override { return false; }
void SetDefaultItem(int item, bool always) override {}
int GetDefaultItem() const override { return -1; }
bool AlwaysFocusDefaultItem() const override { return false; }
diff --git a/xbmc/games/dialogs/osd/DialogInGameSaves.cpp b/xbmc/games/dialogs/osd/DialogInGameSaves.cpp
index 6d04fba678..8dd90af15a 100644
--- a/xbmc/games/dialogs/osd/DialogInGameSaves.cpp
+++ b/xbmc/games/dialogs/osd/DialogInGameSaves.cpp
@@ -63,7 +63,7 @@ bool CDialogInGameSaves::OnMessage(CGUIMessage& message)
if (message.GetControlId() == GetID())
{
const std::string& itemPath = message.GetStringParam();
- CGUIListItemPtr itemInfo = message.GetItem();
+ std::shared_ptr<CGUIListItem> itemInfo = message.GetItem();
if (!itemPath.empty())
{
@@ -127,7 +127,8 @@ unsigned int CDialogInGameSaves::GetFocusedItem() const
return m_focusedControl;
}
-void CDialogInGameSaves::OnItemRefresh(const std::string& itemPath, const CGUIListItemPtr& itemInfo)
+void CDialogInGameSaves::OnItemRefresh(const std::string& itemPath,
+ const std::shared_ptr<CGUIListItem>& itemInfo)
{
// Turn the message params into a savestate item
CFileItemPtr item = TranslateMessageItem(itemPath, itemInfo);
@@ -400,8 +401,8 @@ void CDialogInGameSaves::OnDelete(CFileItem& focusedItem)
}
}
-CFileItemPtr CDialogInGameSaves::TranslateMessageItem(const std::string& messagePath,
- const CGUIListItemPtr& messageItem)
+CFileItemPtr CDialogInGameSaves::TranslateMessageItem(
+ const std::string& messagePath, const std::shared_ptr<CGUIListItem>& messageItem)
{
CFileItemPtr item;
diff --git a/xbmc/games/dialogs/osd/DialogInGameSaves.h b/xbmc/games/dialogs/osd/DialogInGameSaves.h
index 0adc5aa5a6..5c1c3176c7 100644
--- a/xbmc/games/dialogs/osd/DialogInGameSaves.h
+++ b/xbmc/games/dialogs/osd/DialogInGameSaves.h
@@ -52,7 +52,7 @@ protected:
private:
void InitSavedGames();
- void OnItemRefresh(const std::string& itemPath, const CGUIListItemPtr& itemInfo);
+ void OnItemRefresh(const std::string& itemPath, const std::shared_ptr<CGUIListItem>& itemInfo);
/*!
* \brief Translates the GUI list item received in a GUI message into a
@@ -72,7 +72,7 @@ private:
* can be obtained
*/
static CFileItemPtr TranslateMessageItem(const std::string& messagePath,
- const CGUIListItemPtr& messageItem);
+ const std::shared_ptr<CGUIListItem>& messageItem);
CFileItemList m_savestateItems;
const CFileItemPtr m_newSaveItem;
diff --git a/xbmc/guilib/GUIAction.cpp b/xbmc/guilib/GUIAction.cpp
index 8b86338557..e14df2e9b5 100644
--- a/xbmc/guilib/GUIAction.cpp
+++ b/xbmc/guilib/GUIAction.cpp
@@ -59,7 +59,9 @@ bool CGUIAction::ExecuteActions() const
return ExecuteActions(DEFAULT_CONTROL_ID, DEFAULT_CONTROL_ID);
}
-bool CGUIAction::ExecuteActions(int controlID, int parentID, const CGUIListItemPtr &item /* = NULL */) const
+bool CGUIAction::ExecuteActions(int controlID,
+ int parentID,
+ const std::shared_ptr<CGUIListItem>& item /* = NULL */) const
{
if (m_actions.empty())
return false;
diff --git a/xbmc/guilib/GUIAction.h b/xbmc/guilib/GUIAction.h
index 0502a2e1e9..71a8f0e673 100644
--- a/xbmc/guilib/GUIAction.h
+++ b/xbmc/guilib/GUIAction.h
@@ -13,7 +13,7 @@
#include <vector>
class CGUIControl;
-class CGUIListItem; typedef std::shared_ptr<CGUIListItem> CGUIListItemPtr;
+class CGUIListItem;
/**
* Class containing vector of condition->(action/navigation route) and handling its execution.
@@ -83,7 +83,9 @@ public:
/**
* Execute actions (no navigation paths); if action is paired with condition - evaluate condition first
*/
- bool ExecuteActions(int controlID, int parentID, const CGUIListItemPtr& item = nullptr) const;
+ bool ExecuteActions(int controlID,
+ int parentID,
+ const std::shared_ptr<CGUIListItem>& item = nullptr) const;
/**
* Check if there are any conditional actions
*/
diff --git a/xbmc/guilib/GUIBaseContainer.cpp b/xbmc/guilib/GUIBaseContainer.cpp
index 9f39f678a7..c22eb71284 100644
--- a/xbmc/guilib/GUIBaseContainer.cpp
+++ b/xbmc/guilib/GUIBaseContainer.cpp
@@ -179,7 +179,7 @@ void CGUIBaseContainer::Process(unsigned int currentTime, CDirtyRegionList &dirt
bool focused = (current == GetOffset() + GetCursor());
if (itemNo >= 0)
{
- CGUIListItemPtr item = m_items[itemNo];
+ std::shared_ptr<CGUIListItem> item = m_items[itemNo];
item->SetCurrentItem(itemNo + 1);
// render our item
@@ -202,7 +202,12 @@ void CGUIBaseContainer::Process(unsigned int currentTime, CDirtyRegionList &dirt
CGUIControl::Process(currentTime, dirtyregions);
}
-void CGUIBaseContainer::ProcessItem(float posX, float posY, CGUIListItemPtr& item, bool focused, unsigned int currentTime, CDirtyRegionList &dirtyregions)
+void CGUIBaseContainer::ProcessItem(float posX,
+ float posY,
+ std::shared_ptr<CGUIListItem>& item,
+ bool focused,
+ unsigned int currentTime,
+ CDirtyRegionList& dirtyregions)
{
if (!m_focusedLayout || !m_layout) return;
@@ -277,7 +282,7 @@ void CGUIBaseContainer::Render()
end += cacheAfter * m_layout->Size(m_orientation);
float focusedPos = 0;
- CGUIListItemPtr focusedItem;
+ std::shared_ptr<CGUIListItem> focusedItem;
int current = offset - cacheBefore;
while (pos < end && m_items.size())
{
@@ -287,7 +292,7 @@ void CGUIBaseContainer::Render()
bool focused = (current == GetOffset() + GetCursor());
if (itemNo >= 0)
{
- CGUIListItemPtr item = m_items[itemNo];
+ std::shared_ptr<CGUIListItem> item = m_items[itemNo];
// render our item
if (focused)
{
@@ -649,7 +654,7 @@ void CGUIBaseContainer::OnJumpLetter(const std::string& letter, bool skip /*=fal
unsigned int i = (offset + ((skip) ? 1 : 0)) % m_items.size();
do
{
- CGUIListItemPtr item = m_items[i];
+ std::shared_ptr<CGUIListItem> item = m_items[i];
std::string label = item->GetLabel();
if (CServiceBroker::GetSettingsComponent()->GetSettings()->GetBool(CSettings::SETTING_FILELISTS_IGNORETHEWHENSORTING))
label = SortUtils::RemoveArticles(label);
@@ -730,10 +735,10 @@ int CGUIBaseContainer::GetSelectedItem() const
return CorrectOffset(GetOffset(), GetCursor());
}
-CGUIListItemPtr CGUIBaseContainer::GetListItem(int offset, unsigned int flag) const
+std::shared_ptr<CGUIListItem> CGUIBaseContainer::GetListItem(int offset, unsigned int flag) const
{
if (!m_items.size() || !m_layout)
- return CGUIListItemPtr();
+ return std::shared_ptr<CGUIListItem>();
int item = GetSelectedItem() + offset;
if (flag & INFOFLAG_LISTITEM_POSITION) // use offset from the first item displayed, taking into account scrolling
item = CorrectOffset((int)(m_scroller.GetValue() / m_layout->Size(m_orientation)), offset);
@@ -752,12 +757,12 @@ CGUIListItemPtr CGUIBaseContainer::GetListItem(int offset, unsigned int flag) co
if (item >= 0 && item < (int)m_items.size())
return m_items[item];
}
- return CGUIListItemPtr();
+ return std::shared_ptr<CGUIListItem>();
}
CGUIListItemLayout *CGUIBaseContainer::GetFocusedLayout() const
{
- CGUIListItemPtr item = GetListItem(0);
+ std::shared_ptr<CGUIListItem> item = GetListItem(0);
if (item.get()) return item->GetFocusedLayout();
return NULL;
}
@@ -912,7 +917,7 @@ std::string CGUIBaseContainer::GetDescription() const
int item = GetSelectedItem();
if (item >= 0 && item < (int)m_items.size())
{
- CGUIListItemPtr pItem = m_items[item];
+ std::shared_ptr<CGUIListItem> pItem = m_items[item];
if (pItem->m_bIsFolder)
strLabel = StringUtils::Format("[{}]", pItem->GetLabel());
else
@@ -1067,7 +1072,7 @@ void CGUIBaseContainer::UpdateListProvider(bool forceRefresh /* = false */)
// as fallback, try to re-identify selected item by comparing item paths.
for (int i = 0; i < static_cast<int>(m_items.size()); i++)
{
- const CGUIListItemPtr c(m_items[i]);
+ const std::shared_ptr<CGUIListItem> c(m_items[i]);
if (c->IsFileItem())
{
const std::string &selectedPath = static_cast<CFileItem *>(c.get())->GetPath();
@@ -1120,7 +1125,7 @@ void CGUIBaseContainer::UpdateScrollByLetter()
std::string currentMatch;
for (unsigned int i = 0; i < m_items.size(); i++)
{
- CGUIListItemPtr item = m_items[i];
+ std::shared_ptr<CGUIListItem> item = m_items[i];
// The letter offset jumping is only for ASCII characters at present, and
// our checks are all done in uppercase
std::string nextLetter;
@@ -1321,7 +1326,7 @@ void CGUIBaseContainer::DumpTextureUse()
CLog::Log(LOGDEBUG, "{} for container {}", __FUNCTION__, GetID());
for (unsigned int i = 0; i < m_items.size(); ++i)
{
- CGUIListItemPtr item = m_items[i];
+ std::shared_ptr<CGUIListItem> item = m_items[i];
if (item->GetFocusedLayout()) item->GetFocusedLayout()->DumpTextureUse();
if (item->GetLayout()) item->GetLayout()->DumpTextureUse();
}
diff --git a/xbmc/guilib/GUIBaseContainer.h b/xbmc/guilib/GUIBaseContainer.h
index 2bb758dd2f..38e68cf51d 100644
--- a/xbmc/guilib/GUIBaseContainer.h
+++ b/xbmc/guilib/GUIBaseContainer.h
@@ -68,7 +68,7 @@ public:
void LoadLayout(TiXmlElement *layout);
void LoadListProvider(TiXmlElement *content, int defaultItem, bool defaultAlways);
- CGUIListItemPtr GetListItem(int offset, unsigned int flag = 0) const override;
+ std::shared_ptr<CGUIListItem> GetListItem(int offset, unsigned int flag = 0) const override;
bool GetCondition(int condition, int data) const override;
std::string GetLabel(int info) const override;
@@ -100,7 +100,12 @@ protected:
EVENT_RESULT OnMouseEvent(const CPoint& point, const KODI::MOUSE::CMouseEvent& event) override;
bool OnClick(int actionID);
- virtual void ProcessItem(float posX, float posY, CGUIListItemPtr& item, bool focused, unsigned int currentTime, CDirtyRegionList &dirtyregions);
+ virtual void ProcessItem(float posX,
+ float posY,
+ std::shared_ptr<CGUIListItem>& item,
+ bool focused,
+ unsigned int currentTime,
+ CDirtyRegionList& dirtyregions);
void Render() override;
virtual void RenderItem(float posX, float posY, CGUIListItem *item, bool focused);
@@ -139,9 +144,9 @@ protected:
ORIENTATION m_orientation;
int m_itemsPerPage;
- std::vector< CGUIListItemPtr > m_items;
- typedef std::vector<CGUIListItemPtr> ::iterator iItems;
- CGUIListItemPtr m_lastItem;
+ std::vector<std::shared_ptr<CGUIListItem>> m_items;
+ typedef std::vector<std::shared_ptr<CGUIListItem>>::iterator iItems;
+ std::shared_ptr<CGUIListItem> m_lastItem;
int m_pageControl;
diff --git a/xbmc/guilib/GUIMessage.cpp b/xbmc/guilib/GUIMessage.cpp
index c870099396..d788434178 100644
--- a/xbmc/guilib/GUIMessage.cpp
+++ b/xbmc/guilib/GUIMessage.cpp
@@ -38,7 +38,7 @@ CGUIMessage::CGUIMessage(int msg,
int controlID,
int64_t param1,
int64_t param2,
- const CGUIListItemPtr& item)
+ const std::shared_ptr<CGUIListItem>& item)
: m_item(item)
{
m_message = msg;
@@ -69,7 +69,7 @@ void* CGUIMessage::GetPointer() const
return m_pointer;
}
-CGUIListItemPtr CGUIMessage::GetItem() const
+std::shared_ptr<CGUIListItem> CGUIMessage::GetItem() const
{
return m_item;
}
@@ -155,7 +155,7 @@ size_t CGUIMessage::GetNumStringParams() const
return m_params.size();
}
-void CGUIMessage::SetItem(CGUIListItemPtr item)
+void CGUIMessage::SetItem(std::shared_ptr<CGUIListItem> item)
{
m_item = std::move(item);
}
diff --git a/xbmc/guilib/GUIMessage.h b/xbmc/guilib/GUIMessage.h
index 433d9d569f..2fe3faeb2a 100644
--- a/xbmc/guilib/GUIMessage.h
+++ b/xbmc/guilib/GUIMessage.h
@@ -355,7 +355,7 @@ constexpr const int GUI_MSG_CODINGTABLE_LOOKUP_COMPLETED = 65000;
#include <memory>
// forwards
-class CGUIListItem; typedef std::shared_ptr<CGUIListItem> CGUIListItemPtr;
+class CGUIListItem;
class CFileItemList;
/*!
@@ -373,7 +373,7 @@ public:
int controlID,
int64_t param1,
int64_t param2,
- const CGUIListItemPtr& item);
+ const std::shared_ptr<CGUIListItem>& item);
CGUIMessage(const CGUIMessage& msg);
~CGUIMessage(void);
CGUIMessage& operator = (const CGUIMessage& msg);
@@ -381,7 +381,7 @@ public:
int GetControlId() const ;
int GetMessage() const;
void* GetPointer() const;
- CGUIListItemPtr GetItem() const;
+ std::shared_ptr<CGUIListItem> GetItem() const;
int GetParam1() const;
int64_t GetParam1AsI64() const;
int GetParam2() const;
@@ -397,7 +397,7 @@ public:
void SetStringParams(const std::vector<std::string> &params);
const std::string& GetStringParam(size_t param = 0) const;
size_t GetNumStringParams() const;
- void SetItem(CGUIListItemPtr item);
+ void SetItem(std::shared_ptr<CGUIListItem> item);
private:
std::string m_strLabel;
@@ -408,7 +408,7 @@ private:
void* m_pointer;
int64_t m_param1;
int64_t m_param2;
- CGUIListItemPtr m_item;
+ std::shared_ptr<CGUIListItem> m_item;
static std::string empty_string;
};
diff --git a/xbmc/guilib/GUIPanelContainer.cpp b/xbmc/guilib/GUIPanelContainer.cpp
index e4c7a79a39..6d64110402 100644
--- a/xbmc/guilib/GUIPanelContainer.cpp
+++ b/xbmc/guilib/GUIPanelContainer.cpp
@@ -63,7 +63,7 @@ void CGUIPanelContainer::Process(unsigned int currentTime, CDirtyRegionList &dir
break;
if (current >= 0)
{
- CGUIListItemPtr item = m_items[current];
+ std::shared_ptr<CGUIListItem> item = m_items[current];
item->SetCurrentItem(current + 1);
bool focused = (current == GetOffset() * m_itemsPerRow + GetCursor()) && m_bHasFocus;
@@ -111,7 +111,7 @@ void CGUIPanelContainer::Render()
float focusedPos = 0;
int focusedCol = 0;
- CGUIListItemPtr focusedItem;
+ std::shared_ptr<CGUIListItem> focusedItem;
int current = (offset - cacheBefore) * m_itemsPerRow;
int col = 0;
while (pos < end && m_items.size())
@@ -120,7 +120,7 @@ void CGUIPanelContainer::Render()
break;
if (current >= 0)
{
- CGUIListItemPtr item = m_items[current];
+ std::shared_ptr<CGUIListItem> item = m_items[current];
bool focused = (current == GetOffset() * m_itemsPerRow + GetCursor()) && m_bHasFocus;
// render our item
if (focused)
diff --git a/xbmc/guilib/GUIWrappingListContainer.cpp b/xbmc/guilib/GUIWrappingListContainer.cpp
index c5980448f4..2ac2d179b1 100644
--- a/xbmc/guilib/GUIWrappingListContainer.cpp
+++ b/xbmc/guilib/GUIWrappingListContainer.cpp
@@ -131,7 +131,7 @@ void CGUIWrappingListContainer::ValidateOffset()
// add additional copies of items, as we require extras at render time
for (unsigned int i = 0; i < numItems; i++)
{
- m_items.push_back(CGUIListItemPtr(m_items[i]->Clone()));
+ m_items.push_back(std::shared_ptr<CGUIListItem>(m_items[i]->Clone()));
m_extraItems++;
}
}
diff --git a/xbmc/guilib/IGUIContainer.h b/xbmc/guilib/IGUIContainer.h
index b968b32cfb..8e96b8ad45 100644
--- a/xbmc/guilib/IGUIContainer.h
+++ b/xbmc/guilib/IGUIContainer.h
@@ -12,8 +12,6 @@
#include <memory>
-typedef std::shared_ptr<CGUIListItem> CGUIListItemPtr;
-
/*!
\ingroup controls
\brief
@@ -40,6 +38,6 @@ public:
m_label = label;
}
- virtual CGUIListItemPtr GetListItem(int offset, unsigned int flag = 0) const = 0;
+ virtual std::shared_ptr<CGUIListItem> GetListItem(int offset, unsigned int flag = 0) const = 0;
virtual std::string GetLabel(int info) const = 0;
};
diff --git a/xbmc/guilib/guiinfo/GUIInfoHelper.cpp b/xbmc/guilib/guiinfo/GUIInfoHelper.cpp
index 1b704cfc88..f713f3a26c 100644
--- a/xbmc/guilib/guiinfo/GUIInfoHelper.cpp
+++ b/xbmc/guilib/guiinfo/GUIInfoHelper.cpp
@@ -159,9 +159,12 @@ CGUIControl* GetActiveContainer(int containerId, int contextWindow)
return nullptr;
}
-CGUIListItemPtr GetCurrentListItem(int contextWindow, int containerId /* = 0 */, int itemOffset /* = 0 */, unsigned int itemFlags /* = 0 */)
+std::shared_ptr<CGUIListItem> GetCurrentListItem(int contextWindow,
+ int containerId /* = 0 */,
+ int itemOffset /* = 0 */,
+ unsigned int itemFlags /* = 0 */)
{
- CGUIListItemPtr item;
+ std::shared_ptr<CGUIListItem> item;
if (containerId == 0 &&
itemOffset == 0 &&
diff --git a/xbmc/guilib/guiinfo/GUIInfoHelper.h b/xbmc/guilib/guiinfo/GUIInfoHelper.h
index ce5191e746..5fd0d2d341 100644
--- a/xbmc/guilib/guiinfo/GUIInfoHelper.h
+++ b/xbmc/guilib/guiinfo/GUIInfoHelper.h
@@ -16,7 +16,6 @@
class CFileItem;
class CGUIListItem;
-typedef std::shared_ptr<CGUIListItem> CGUIListItemPtr;
class CGUIControl;
class CGUIMediaWindow;
@@ -34,7 +33,10 @@ std::string GetPlaylistLabel(int item, PLAYLIST::Id playlistid = PLAYLIST::TYPE_
CGUIWindow* GetWindow(int contextWindow);
CGUIControl* GetActiveContainer(int containerId, int contextWindow);
CGUIMediaWindow* GetMediaWindow(int contextWindow);
-CGUIListItemPtr GetCurrentListItem(int contextWindow, int containerId = 0, int itemOffset = 0, unsigned int itemFlags = 0);
+std::shared_ptr<CGUIListItem> GetCurrentListItem(int contextWindow,
+ int containerId = 0,
+ int itemOffset = 0,
+ unsigned int itemFlags = 0);
std::string GetFileInfoLabelValueFromPath(int info, const std::string& filenameAndPath);
diff --git a/xbmc/guilib/listproviders/DirectoryProvider.cpp b/xbmc/guilib/listproviders/DirectoryProvider.cpp
index c511117fd1..8d035004b0 100644
--- a/xbmc/guilib/listproviders/DirectoryProvider.cpp
+++ b/xbmc/guilib/listproviders/DirectoryProvider.cpp
@@ -329,7 +329,7 @@ void CDirectoryProvider::Announce(ANNOUNCEMENT::AnnouncementFlag flag,
}
}
-void CDirectoryProvider::Fetch(std::vector<CGUIListItemPtr> &items)
+void CDirectoryProvider::Fetch(std::vector<std::shared_ptr<CGUIListItem>>& items)
{
std::unique_lock<CCriticalSection> lock(m_section);
items.clear();
@@ -544,7 +544,7 @@ protected:
};
} // namespace
-bool CDirectoryProvider::OnClick(const CGUIListItemPtr& item)
+bool CDirectoryProvider::OnClick(const std::shared_ptr<CGUIListItem>& item)
{
CFileItem targetItem{*std::static_pointer_cast<CFileItem>(item)};
@@ -580,7 +580,7 @@ bool CDirectoryProvider::OnClick(const CGUIListItemPtr& item)
return ExecuteAction({fileItem, GetTarget(fileItem)});
}
-bool CDirectoryProvider::OnPlay(const CGUIListItemPtr& item)
+bool CDirectoryProvider::OnPlay(const std::shared_ptr<CGUIListItem>& item)
{
CFileItem targetItem{*std::static_pointer_cast<CFileItem>(item)};
@@ -628,7 +628,7 @@ bool CDirectoryProvider::OnInfo(const std::shared_ptr<CFileItem>& fileItem)
return UTILS::GUILIB::CGUIContentUtils::ShowInfoForItem(*targetItem);
}
-bool CDirectoryProvider::OnInfo(const CGUIListItemPtr& item)
+bool CDirectoryProvider::OnInfo(const std::shared_ptr<CGUIListItem>& item)
{
auto fileItem = std::static_pointer_cast<CFileItem>(item);
return OnInfo(fileItem);
@@ -643,7 +643,7 @@ bool CDirectoryProvider::OnContextMenu(const std::shared_ptr<CFileItem>& fileIte
return CONTEXTMENU::ShowFor(fileItem, CContextMenuManager::MAIN);
}
-bool CDirectoryProvider::OnContextMenu(const CGUIListItemPtr& item)
+bool CDirectoryProvider::OnContextMenu(const std::shared_ptr<CGUIListItem>& item)
{
auto fileItem = std::static_pointer_cast<CFileItem>(item);
return OnContextMenu(fileItem);
diff --git a/xbmc/guilib/listproviders/DirectoryProvider.h b/xbmc/guilib/listproviders/DirectoryProvider.h
index 9535842210..5f98345a05 100644
--- a/xbmc/guilib/listproviders/DirectoryProvider.h
+++ b/xbmc/guilib/listproviders/DirectoryProvider.h
@@ -69,14 +69,14 @@ public:
const std::string& sender,
const std::string& message,
const CVariant& data) override;
- void Fetch(std::vector<CGUIListItemPtr> &items) override;
+ void Fetch(std::vector<std::shared_ptr<CGUIListItem>>& items) override;
void Reset() override;
- bool OnClick(const CGUIListItemPtr &item) override;
- bool OnPlay(const CGUIListItemPtr& item) override;
+ bool OnClick(const std::shared_ptr<CGUIListItem>& item) override;
+ bool OnPlay(const std::shared_ptr<CGUIListItem>& item) override;
bool OnInfo(const std::shared_ptr<CFileItem>& item);
bool OnContextMenu(const std::shared_ptr<CFileItem>& item);
- bool OnInfo(const CGUIListItemPtr &item) override;
- bool OnContextMenu(const CGUIListItemPtr &item) override;
+ bool OnInfo(const std::shared_ptr<CGUIListItem>& item) override;
+ bool OnContextMenu(const std::shared_ptr<CGUIListItem>& item) override;
bool IsUpdating() const override;
void FreeResources(bool immediately) override;
diff --git a/xbmc/guilib/listproviders/IListProvider.h b/xbmc/guilib/listproviders/IListProvider.h
index fea2860f50..df7745d8b6 100644
--- a/xbmc/guilib/listproviders/IListProvider.h
+++ b/xbmc/guilib/listproviders/IListProvider.h
@@ -13,7 +13,6 @@
class TiXmlNode;
class CGUIListItem;
-typedef std::shared_ptr<CGUIListItem> CGUIListItemPtr;
/*!
\ingroup listproviders
@@ -52,7 +51,7 @@ public:
/*! \brief Fetch the current list of items.
\param items [out] the list to be filled.
*/
- virtual void Fetch(std::vector<CGUIListItemPtr> &items)=0;
+ virtual void Fetch(std::vector<std::shared_ptr<CGUIListItem>>& items) = 0;
/*! \brief Check whether the list provider is updating content.
\return true if in the processing of updating, false otherwise.
@@ -73,25 +72,25 @@ public:
\param item the item that was clicked.
\return true if the click was handled, false otherwise.
*/
- virtual bool OnClick(const CGUIListItemPtr &item)=0;
+ virtual bool OnClick(const std::shared_ptr<CGUIListItem>& item) = 0;
/*! \brief Play event on an item.
\param item the item to play.
\return true if the event was handled, false otherwise.
*/
- virtual bool OnPlay(const CGUIListItemPtr& item) { return false; }
+ virtual bool OnPlay(const std::shared_ptr<CGUIListItem>& item) { return false; }
/*! \brief Open the info dialog for an item provided by this IListProvider.
\param item the item that was clicked.
\return true if the dialog was shown, false otherwise.
*/
- virtual bool OnInfo(const CGUIListItemPtr &item)=0;
+ virtual bool OnInfo(const std::shared_ptr<CGUIListItem>& item) = 0;
/*! \brief Open the context menu for an item provided by this IListProvider.
\param item the item that was clicked.
\return true if the click was handled, false otherwise.
*/
- virtual bool OnContextMenu(const CGUIListItemPtr &item)=0;
+ virtual bool OnContextMenu(const std::shared_ptr<CGUIListItem>& item) = 0;
/*! \brief Set the default item to focus. For backwards compatibility.
\param item the item to focus.
diff --git a/xbmc/guilib/listproviders/MultiProvider.cpp b/xbmc/guilib/listproviders/MultiProvider.cpp
index e05a037ece..7a9a350cfe 100644
--- a/xbmc/guilib/listproviders/MultiProvider.cpp
+++ b/xbmc/guilib/listproviders/MultiProvider.cpp
@@ -46,10 +46,10 @@ bool CMultiProvider::Update(bool forceRefresh)
return result;
}
-void CMultiProvider::Fetch(std::vector<CGUIListItemPtr> &items)
+void CMultiProvider::Fetch(std::vector<std::shared_ptr<CGUIListItem>>& items)
{
std::unique_lock<CCriticalSection> lock(m_section);
- std::vector<CGUIListItemPtr> subItems;
+ std::vector<std::shared_ptr<CGUIListItem>> subItems;
items.clear();
m_itemMap.clear();
for (auto const& provider : m_providers)
@@ -84,7 +84,7 @@ void CMultiProvider::Reset()
provider->Reset();
}
-bool CMultiProvider::OnClick(const CGUIListItemPtr &item)
+bool CMultiProvider::OnClick(const std::shared_ptr<CGUIListItem>& item)
{
std::unique_lock<CCriticalSection> lock(m_section);
auto key = GetItemKey(item);
@@ -95,7 +95,7 @@ bool CMultiProvider::OnClick(const CGUIListItemPtr &item)
return false;
}
-bool CMultiProvider::OnInfo(const CGUIListItemPtr &item)
+bool CMultiProvider::OnInfo(const std::shared_ptr<CGUIListItem>& item)
{
std::unique_lock<CCriticalSection> lock(m_section);
auto key = GetItemKey(item);
@@ -106,7 +106,7 @@ bool CMultiProvider::OnInfo(const CGUIListItemPtr &item)
return false;
}
-bool CMultiProvider::OnContextMenu(const CGUIListItemPtr &item)
+bool CMultiProvider::OnContextMenu(const std::shared_ptr<CGUIListItem>& item)
{
std::unique_lock<CCriticalSection> lock(m_section);
auto key = GetItemKey(item);
@@ -117,7 +117,7 @@ bool CMultiProvider::OnContextMenu(const CGUIListItemPtr &item)
return false;
}
-CMultiProvider::item_key_type CMultiProvider::GetItemKey(CGUIListItemPtr const &item)
+CMultiProvider::item_key_type CMultiProvider::GetItemKey(std::shared_ptr<CGUIListItem> const& item)
{
return reinterpret_cast<item_key_type>(item.get());
}
diff --git a/xbmc/guilib/listproviders/MultiProvider.h b/xbmc/guilib/listproviders/MultiProvider.h
index 9eeddc012d..157e3df6a1 100644
--- a/xbmc/guilib/listproviders/MultiProvider.h
+++ b/xbmc/guilib/listproviders/MultiProvider.h
@@ -29,16 +29,16 @@ public:
// Implementation of IListProvider
std::unique_ptr<IListProvider> Clone() override;
bool Update(bool forceRefresh) override;
- void Fetch(std::vector<CGUIListItemPtr> &items) override;
+ void Fetch(std::vector<std::shared_ptr<CGUIListItem>>& items) override;
bool IsUpdating() const override;
void Reset() override;
- bool OnClick(const CGUIListItemPtr &item) override;
- bool OnInfo(const CGUIListItemPtr &item) override;
- bool OnContextMenu(const CGUIListItemPtr &item) override;
+ bool OnClick(const std::shared_ptr<CGUIListItem>& item) override;
+ bool OnInfo(const std::shared_ptr<CGUIListItem>& item) override;
+ bool OnContextMenu(const std::shared_ptr<CGUIListItem>& item) override;
protected:
typedef size_t item_key_type;
- static item_key_type GetItemKey(CGUIListItemPtr const &item);
+ static item_key_type GetItemKey(std::shared_ptr<CGUIListItem> const& item);
std::vector<IListProviderPtr> m_providers;
std::map<item_key_type, IListProvider*> m_itemMap;
CCriticalSection m_section; // protects m_itemMap
diff --git a/xbmc/guilib/listproviders/StaticProvider.cpp b/xbmc/guilib/listproviders/StaticProvider.cpp
index a5750e6cd3..35acff0bfc 100644
--- a/xbmc/guilib/listproviders/StaticProvider.cpp
+++ b/xbmc/guilib/listproviders/StaticProvider.cpp
@@ -91,7 +91,7 @@ bool CStaticListProvider::Update(bool forceRefresh)
return changed; //! @todo Also returned changed if properties are changed (if so, need to update scroll to letter).
}
-void CStaticListProvider::Fetch(std::vector<CGUIListItemPtr> &items)
+void CStaticListProvider::Fetch(std::vector<std::shared_ptr<CGUIListItem>>& items)
{
items.clear();
for (const auto& i : m_items)
@@ -130,7 +130,7 @@ bool CStaticListProvider::AlwaysFocusDefaultItem() const
return m_defaultAlways;
}
-bool CStaticListProvider::OnClick(const CGUIListItemPtr &item)
+bool CStaticListProvider::OnClick(const std::shared_ptr<CGUIListItem>& item)
{
CGUIStaticItem *staticItem = static_cast<CGUIStaticItem*>(item.get());
return staticItem->GetClickActions().ExecuteActions(0, m_parentID);
diff --git a/xbmc/guilib/listproviders/StaticProvider.h b/xbmc/guilib/listproviders/StaticProvider.h
index 6aea6b1e58..30685ffa9a 100644
--- a/xbmc/guilib/listproviders/StaticProvider.h
+++ b/xbmc/guilib/listproviders/StaticProvider.h
@@ -24,10 +24,10 @@ public:
// Implementation of IListProvider
std::unique_ptr<IListProvider> Clone() override;
bool Update(bool forceRefresh) override;
- void Fetch(std::vector<CGUIListItemPtr> &items) override;
- bool OnClick(const CGUIListItemPtr &item) override;
- bool OnInfo(const CGUIListItemPtr &item) override { return false; }
- bool OnContextMenu(const CGUIListItemPtr &item) override { return false; }
+ void Fetch(std::vector<std::shared_ptr<CGUIListItem>>& items) override;
+ bool OnClick(const std::shared_ptr<CGUIListItem>& item) override;
+ bool OnInfo(const std::shared_ptr<CGUIListItem>& item) override { return false; }
+ bool OnContextMenu(const std::shared_ptr<CGUIListItem>& item) override { return false; }
void SetDefaultItem(int item, bool always) override;
int GetDefaultItem() const override;
bool AlwaysFocusDefaultItem() const override;
diff --git a/xbmc/interfaces/legacy/Control.cpp b/xbmc/interfaces/legacy/Control.cpp
index 19a37c841d..2ad9c2197e 100644
--- a/xbmc/interfaces/legacy/Control.cpp
+++ b/xbmc/interfaces/legacy/Control.cpp
@@ -1266,7 +1266,7 @@ namespace XBMCAddon
void ControlList::sendLabelBind(int tail)
{
// construct a CFileItemList to pass 'em on to the list
- CGUIListItemPtr items(new CFileItemList());
+ std::shared_ptr<CGUIListItem> items(new CFileItemList());
for (unsigned int i = vecItems.size() - tail; i < vecItems.size(); i++)
static_cast<CFileItemList*>(items.get())->Add(vecItems[i]->item);
diff --git a/xbmc/pvr/guilib/GUIEPGGridContainer.cpp b/xbmc/pvr/guilib/GUIEPGGridContainer.cpp
index f6c2b58ea1..de3ef1059e 100644
--- a/xbmc/pvr/guilib/GUIEPGGridContainer.cpp
+++ b/xbmc/pvr/guilib/GUIEPGGridContainer.cpp
@@ -1157,7 +1157,7 @@ void CGUIEPGGridContainer::UpdateBlock(bool bUpdateBlockTravelAxis /* = true */)
CGUIListItemLayout* CGUIEPGGridContainer::GetFocusedLayout() const
{
- CGUIListItemPtr item = GetListItem(0);
+ std::shared_ptr<CGUIListItem> item = GetListItem(0);
if (item)
return item->GetFocusedLayout();
@@ -1363,11 +1363,10 @@ CFileItemPtr CGUIEPGGridContainer::GetSelectedGridItem(int offset /*= 0*/) const
return item;
}
-
-CGUIListItemPtr CGUIEPGGridContainer::GetListItem(int offset, unsigned int flag) const
+std::shared_ptr<CGUIListItem> CGUIEPGGridContainer::GetListItem(int offset, unsigned int flag) const
{
if (!m_gridModel->HasChannelItems())
- return CGUIListItemPtr();
+ return std::shared_ptr<CGUIListItem>();
int item = m_channelCursor + m_channelOffset + offset;
if (flag & INFOFLAG_LISTITEM_POSITION)
@@ -1386,7 +1385,7 @@ CGUIListItemPtr CGUIEPGGridContainer::GetListItem(int offset, unsigned int flag)
if (item >= 0 && item < m_gridModel->ChannelItemsSize())
return m_gridModel->GetChannelItem(item);
}
- return CGUIListItemPtr();
+ return std::shared_ptr<CGUIListItem>();
}
std::string CGUIEPGGridContainer::GetLabel(int info) const
@@ -2141,7 +2140,7 @@ void CGUIEPGGridContainer::HandleChannels(bool bRender, unsigned int currentTime
end += cacheAfterChannel * m_channelLayout->Size(m_orientation);
float focusedPos = 0;
- CGUIListItemPtr focusedItem;
+ std::shared_ptr<CGUIListItem> focusedItem;
CFileItemPtr item;
int current = chanOffset - cacheBeforeChannel;
diff --git a/xbmc/pvr/guilib/GUIEPGGridContainer.h b/xbmc/pvr/guilib/GUIEPGGridContainer.h
index f56a0bc34b..09acfc7426 100644
--- a/xbmc/pvr/guilib/GUIEPGGridContainer.h
+++ b/xbmc/pvr/guilib/GUIEPGGridContainer.h
@@ -68,7 +68,7 @@ namespace PVR
void Process(unsigned int currentTime, CDirtyRegionList& dirtyregions) override;
void Render() override;
- CGUIListItemPtr GetListItem(int offset, unsigned int flag = 0) const override;
+ std::shared_ptr<CGUIListItem> GetListItem(int offset, unsigned int flag = 0) const override;
std::string GetLabel(int info) const override;
std::shared_ptr<CFileItem> GetSelectedGridItem(int offset = 0) const;