KiCad PCB EDA Suite
Loading...
Searching...
No Matches
remote_symbol_download_manager.h
Go to the documentation of this file.
1
/*
2
* This program source code file is part of KiCad, a free EDA CAD application.
3
*
4
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
5
*
6
* This program is free software; you can redistribute it and/or modify it
7
* under the terms of the GNU General Public License as published by the
8
* Free Software Foundation; either version 3 of the License, or (at your
9
* option) any later version.
10
*
11
* This program is distributed in the hope that it will be useful, but
12
* WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License along
17
* with this program. If not, see <http://www.gnu.org/licenses/>.
18
*/
19
20
#ifndef REMOTE_SYMBOL_DOWNLOAD_MANAGER_H
21
#define REMOTE_SYMBOL_DOWNLOAD_MANAGER_H
22
23
#include <functional>
24
#include <vector>
25
26
#include <
remote_provider_metadata.h
>
27
#include <
remote_provider_models.h
>
28
#include <wx/string.h>
29
30
31
struct
REMOTE_SYMBOL_FETCH_RESPONSE
32
{
33
int
status_code
= 0;
34
wxString
content_type
;
35
std::vector<uint8_t>
payload
;
36
};
37
38
39
struct
REMOTE_SYMBOL_FETCHED_ASSET
40
{
41
wxString
content_type
;
42
std::vector<uint8_t>
payload
;
43
};
44
45
46
class
REMOTE_SYMBOL_DOWNLOAD_MANAGER
47
{
48
public
:
49
using
FETCH_HANDLER
=
50
std::function<bool(
const
wxString&,
REMOTE_SYMBOL_FETCH_RESPONSE
&, wxString& )>;
51
52
REMOTE_SYMBOL_DOWNLOAD_MANAGER
();
53
explicit
REMOTE_SYMBOL_DOWNLOAD_MANAGER
(
FETCH_HANDLER
aHandler );
54
55
bool
DownloadAndVerify
(
const
REMOTE_PROVIDER_METADATA
& aProvider,
56
const
REMOTE_PROVIDER_PART_ASSET
& aAsset,
long
long
aRemainingBudget,
57
REMOTE_SYMBOL_FETCHED_ASSET
& aFetched, wxString& aError )
const
;
58
59
private
:
60
FETCH_HANDLER
m_handler
;
61
};
62
63
#endif
// REMOTE_SYMBOL_DOWNLOAD_MANAGER_H
REMOTE_SYMBOL_DOWNLOAD_MANAGER::FETCH_HANDLER
std::function< bool(const wxString &, REMOTE_SYMBOL_FETCH_RESPONSE &, wxString &)> FETCH_HANDLER
Definition
remote_symbol_download_manager.h:49
REMOTE_SYMBOL_DOWNLOAD_MANAGER::m_handler
FETCH_HANDLER m_handler
Definition
remote_symbol_download_manager.h:60
REMOTE_SYMBOL_DOWNLOAD_MANAGER::REMOTE_SYMBOL_DOWNLOAD_MANAGER
REMOTE_SYMBOL_DOWNLOAD_MANAGER()
Definition
remote_symbol_download_manager.cpp:101
REMOTE_SYMBOL_DOWNLOAD_MANAGER::DownloadAndVerify
bool DownloadAndVerify(const REMOTE_PROVIDER_METADATA &aProvider, const REMOTE_PROVIDER_PART_ASSET &aAsset, long long aRemainingBudget, REMOTE_SYMBOL_FETCHED_ASSET &aFetched, wxString &aError) const
Definition
remote_symbol_download_manager.cpp:113
remote_provider_metadata.h
remote_provider_models.h
REMOTE_PROVIDER_METADATA
Definition
remote_provider_metadata.h:48
REMOTE_PROVIDER_PART_ASSET
Definition
remote_provider_models.h:79
REMOTE_SYMBOL_FETCHED_ASSET
Definition
remote_symbol_download_manager.h:40
REMOTE_SYMBOL_FETCHED_ASSET::content_type
wxString content_type
Definition
remote_symbol_download_manager.h:41
REMOTE_SYMBOL_FETCHED_ASSET::payload
std::vector< uint8_t > payload
Definition
remote_symbol_download_manager.h:42
REMOTE_SYMBOL_FETCH_RESPONSE
Definition
remote_symbol_download_manager.h:32
REMOTE_SYMBOL_FETCH_RESPONSE::payload
std::vector< uint8_t > payload
Definition
remote_symbol_download_manager.h:35
REMOTE_SYMBOL_FETCH_RESPONSE::status_code
int status_code
Definition
remote_symbol_download_manager.h:33
REMOTE_SYMBOL_FETCH_RESPONSE::content_type
wxString content_type
Definition
remote_symbol_download_manager.h:34
src
eeschema
remote_symbol_download_manager.h
Generated on Fri Mar 13 2026 00:07:27 for KiCad PCB EDA Suite by
1.13.2