xbmc
AndroidAppFile.h
1 /*
2  * Copyright (C) 2012-2018 Team Kodi
3  * This file is part of Kodi - https://kodi.tv
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  * See LICENSES/README.md for more information.
7  */
8 
9 #pragma once
10 
11 #include "URL.h"
12 #include "filesystem/IFile.h"
13 
14 #include <string.h>
15 
16 namespace XFILE
17 {
18 class CFileAndroidApp : public IFile
19 {
20 public:
22  CFileAndroidApp(void);
23  ~CFileAndroidApp() override;
24  bool Open(const CURL& url) override;
25  bool Exists(const CURL& url) override;
26  int Stat(const CURL& url, struct __stat64* buffer) override;
27 
29  ssize_t Read(void* lpBuf, size_t uiBufSize) override { return 0; }
30  void Close() override;
31  int64_t GetLength() override { return 0; }
32  int64_t Seek(int64_t, int) override { return -1; }
33  int64_t GetPosition() override { return 0; }
34  int GetChunkSize() override;
35  int IoControl(EIoControl request, void* param) override;
36 
37  virtual unsigned int ReadIcon(unsigned char **lpBuf, unsigned int* width, unsigned int* height);
38 
39 protected:
40  bool IsValidFile(const CURL& url);
41 
42 private:
43  CURL m_url;
44  std::string m_packageName;
45  std::string m_packageLabel;
46  int m_icon;
47  int m_iconWidth;
48  int m_iconHeight;
49 };
50 }
Definition: Scraper.h:41
ssize_t Read(void *lpBuf, size_t uiBufSize) override
Return 32bit rgba raw bitmap.
Definition: AndroidAppFile.h:29
Definition: URL.h:20
Definition: IFile.h:42
Definition: AndroidAppFile.h:18
int Stat(const CURL &url, struct __stat64 *buffer) override
Fills struct __stat64 with information about file specified by url.
Definition: AndroidAppFile.cpp:195
CFileAndroidApp(void)
Currently only used for retrieving App Icons.
Definition: AndroidAppFile.cpp:32