Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
ADDON::CVFSEntryIDirectoryWrapper Class Reference

Wrapper equpping a CVFSEntry with an IDirectory interface. More...

#include <VFSEntry.h>

Inheritance diagram for ADDON::CVFSEntryIDirectoryWrapper:
XFILE::IDirectory ADDON::CVFSEntryIFileDirectoryWrapper

Public Member Functions

 CVFSEntryIDirectoryWrapper (VFSEntryPtr ptr)
 The constructor initializes the reference to the wrapped CVFSEntry.
 
 ~CVFSEntryIDirectoryWrapper () override=default
 Empty destructor.
 
bool GetDirectory (const CURL &url, CFileItemList &items) override
 Return directory listing.
 
bool Exists (const CURL &url) override
 Check if directory exists.
 
bool Remove (const CURL &url) override
 Delete directory.
 
bool Create (const CURL &url) override
 Create directory.
 
bool GetKeyboardInput2 (const char *heading, char **input, bool hidden_input)
 Get keyboard input.
 
void SetErrorDialog2 (const char *heading, const char *line1, const char *line2, const char *line3)
 Show an error dialog.
 
void RequireAuthentication2 (const CURL &url)
 Require authentication.
 
- Public Member Functions inherited from XFILE::IDirectory
 IDirectory ()
 
virtual ~IDirectory (void)
 
virtual float GetProgress () const
 Retrieve the progress of the current directory fetch (if possible).
 
virtual void CancelDirectory ()
 Cancel the current directory fetch (if possible).
 
virtual bool RemoveRecursive (const CURL &url)
 Recursively removes the directory.
 
virtual bool IsAllowed (const CURL &url) const
 Whether this file should be listed.
 
virtual bool AllowAll () const
 Whether to allow all files/folders to be listed.
 
virtual DIR_CACHE_TYPE GetCacheType (const CURL &url) const
 How this directory should be cached.
 
void SetMask (const std::string &strMask)
 Set a mask of extensions for the files in the directory.
 
void SetFlags (int flags)
 Set the flags for this directory handler.
 
bool ProcessRequirements ()
 Process additional requirements before the directory fetch is performed. Some directory fetches may require authentication, keyboard input etc. The IDirectory subclass should call GetKeyboardInput, SetErrorDialog or RequireAuthentication and then return false from the GetDirectory method. CDirectory will then prompt for input from the user, before re-calling the GetDirectory method.
 
virtual bool Resolve (CFileItem &item) const
 Resolves a given item to a playable item.
 

Static Public Member Functions

static bool DoGetKeyboardInput (void *context, const char *heading, char **input, bool hidden_input)
 Static helper for doing a keyboard callback.
 
static void DoSetErrorDialog (void *ctx, const char *heading, const char *line1, const char *line2, const char *line3)
 Static helper for displaying an error dialog.
 
static void DoRequireAuthentication (void *ctx, const char *url)
 Static helper for requiring authentication.
 
- Static Public Member Functions inherited from XFILE::IDirectory
static void RegisterProfileManager (const CProfileManager &profileManager)
 
static void UnregisterProfileManager ()
 

Protected Attributes

VFSEntryPtr m_addon
 Pointer to wrapper CVFSEntry.
 
- Protected Attributes inherited from XFILE::IDirectory
std::string m_strFileMask
 Holds the file mask specified by SetMask()
 
int m_flags
 Directory flags - see DIR_FLAG.
 
CVariant m_requirements
 

Additional Inherited Members

- Protected Member Functions inherited from XFILE::IDirectory
bool GetKeyboardInput (const CVariant &heading, std::string &input, bool hiddenInput=false)
 Prompt the user for some keyboard input Call this method from the GetDirectory method to retrieve additional input from the user. If this function returns false then no input has been received, and the GetDirectory call should return false.
 
void SetErrorDialog (const CVariant &heading, const CVariant &line1, const CVariant &line2=0, const CVariant &line3=0)
 Show an error dialog on failure of GetDirectory call Call this method from the GetDirectory method to set an error message to be shown to the user.
 
void RequireAuthentication (const CURL &url)
 Prompt the user for authentication of a URL. Call this method from the GetDirectory method when authentication is required from the user, before returning false from the GetDirectory call. The user will be prompted for authentication, and GetDirectory will be re-called.
 
- Static Protected Attributes inherited from XFILE::IDirectory
static const CProfileManagerm_profileManager = nullptr
 

Detailed Description

Wrapper equpping a CVFSEntry with an IDirectory interface.

Needed as CVFSEntry implements several VFS interfaces with overlapping methods.

Constructor & Destructor Documentation

◆ CVFSEntryIDirectoryWrapper()

ADDON::CVFSEntryIDirectoryWrapper::CVFSEntryIDirectoryWrapper ( VFSEntryPtr ptr)
explicit

The constructor initializes the reference to the wrapped CVFSEntry.

Parameters
ptrThe CVFSEntry to wrap.

◆ ~CVFSEntryIDirectoryWrapper()

ADDON::CVFSEntryIDirectoryWrapper::~CVFSEntryIDirectoryWrapper ( )
overridedefault

Empty destructor.

Member Function Documentation

◆ Create()

bool ADDON::CVFSEntryIDirectoryWrapper::Create ( const CURL & url)
overridevirtual

Create directory.

Parameters
[in]urlURL to delete.

Reimplemented from XFILE::IDirectory.

Reimplemented in ADDON::CVFSEntryIFileDirectoryWrapper.

◆ DoGetKeyboardInput()

bool ADDON::CVFSEntryIDirectoryWrapper::DoGetKeyboardInput ( void * context,
const char * heading,
char ** input,
bool hidden_input )
static

Static helper for doing a keyboard callback.

◆ DoRequireAuthentication()

void ADDON::CVFSEntryIDirectoryWrapper::DoRequireAuthentication ( void * ctx,
const char * url )
static

Static helper for requiring authentication.

◆ DoSetErrorDialog()

void ADDON::CVFSEntryIDirectoryWrapper::DoSetErrorDialog ( void * ctx,
const char * heading,
const char * line1,
const char * line2,
const char * line3 )
static

Static helper for displaying an error dialog.

◆ Exists()

bool ADDON::CVFSEntryIDirectoryWrapper::Exists ( const CURL & url)
overridevirtual

Check if directory exists.

Parameters
[in]urlURL to check.

Reimplemented from XFILE::IDirectory.

Reimplemented in ADDON::CVFSEntryIFileDirectoryWrapper.

◆ GetDirectory()

bool ADDON::CVFSEntryIDirectoryWrapper::GetDirectory ( const CURL & url,
CFileItemList & items )
overridevirtual

Return directory listing.

Parameters
[in]urlURL to file to list.
itemsList of items in file.
Returns
True if listing succeeded, false otherwise.

Implements XFILE::IDirectory.

Reimplemented in ADDON::CVFSEntryIFileDirectoryWrapper.

◆ GetKeyboardInput2()

bool ADDON::CVFSEntryIDirectoryWrapper::GetKeyboardInput2 ( const char * heading,
char ** input,
bool hidden_input )

Get keyboard input.

◆ Remove()

bool ADDON::CVFSEntryIDirectoryWrapper::Remove ( const CURL & url)
overridevirtual

Delete directory.

Parameters
[in]urlURL to delete.

Reimplemented from XFILE::IDirectory.

Reimplemented in ADDON::CVFSEntryIFileDirectoryWrapper.

◆ RequireAuthentication2()

void ADDON::CVFSEntryIDirectoryWrapper::RequireAuthentication2 ( const CURL & url)

Require authentication.

◆ SetErrorDialog2()

void ADDON::CVFSEntryIDirectoryWrapper::SetErrorDialog2 ( const char * heading,
const char * line1,
const char * line2,
const char * line3 )

Show an error dialog.

Member Data Documentation

◆ m_addon

VFSEntryPtr ADDON::CVFSEntryIDirectoryWrapper::m_addon
protected

Pointer to wrapper CVFSEntry.


The documentation for this class was generated from the following files: