Altium C++ SDK 3.0
Loading...
Searching...
No Matches
EDP.Embedded.Interfaces.h
Go to the documentation of this file.
1#pragma once
2
3#ifndef EDP_EMBEDDED_INTERFACES_H_INCLUDED
4#define EDP_EMBEDDED_INTERFACES_H_INCLUDED
5
6#include <comdef.h>
7#include <string>
8#include "DXP.Interfaces.h"
10#include "EDP.Interfaces.h"
11#include "EDP.SCH.Interfaces.h"
12
13#pragma pack(push, 8)
14
15namespace Embedded
16{
17
18/*..............................................................................*/
19struct __declspec(uuid("{8549CE5D-7535-4A60-953D-203540A77176}"))
20IInterruptManager : IDispatch
21{
26 void Import_FromString(std::wstring const AString);
27 std::wstring Export_ToString();
28};
29_COM_SMARTPTR_TYPEDEF(IInterruptManager, __uuidof(IInterruptManager)); // IInterruptManagerPtr
30/*..............................................................................*/
31
32/*..............................................................................*/
33struct __declspec(uuid("{5A77CD13-E7A2-4790-BB07-C5B092E87F1E}"))
34IEmbeddedMemory : IDispatch
35{
36 std::wstring GetName();
37 std::wstring GetMemType();
38 std::wstring GetMemConfig();
40 bool GetIndexedMemConfig(int AnIndex, std::wstring * AName, INT64 * AnAddress, INT64 * AValue, INT64 * ASize);
45 INT64 GetSizeAsInt();
46 std::wstring GetHexFileName(EDP::IProject * const AEmbeddedProject);
47};
48_COM_SMARTPTR_TYPEDEF(IEmbeddedMemory, __uuidof(IEmbeddedMemory)); // IEmbeddedMemoryPtr
49/*..............................................................................*/
50
51/*..............................................................................*/
52struct __declspec(uuid("{775669B7-B898-4339-BB4F-F52A0756C5C8}"))
53IEmbeddedMemories : IDispatch
54{
60 void FromEmbeddedProject(EDP::IProject * const AEmbeddedProject, bool ACanUseDefault);
61 void FromEmbeddedProjectDefault(EDP::IProject * const AEmbeddedProject);
62 void FromEncodedMemoryConfiguration(std::wstring const AEncodedConfiguration);
63};
64_COM_SMARTPTR_TYPEDEF(IEmbeddedMemories, __uuidof(IEmbeddedMemories)); // IEmbeddedMemoriesPtr
65/*..............................................................................*/
66
67/*..............................................................................*/
68struct __declspec(uuid("{7154A236-E8C0-40D1-B64B-D1BF4F27476F}"))
69IEmbeddedMemoryManager : IDispatch
70{
76 std::wstring GetToolchainNameFromEmbeddedProject(EDP::IProject * const AEmbeddedProject);
77 std::wstring GetToolchainNameFromSchLibRef(std::wstring const ASchLibRef);
78 bool IsDefinedSchLibRef(std::wstring const ALibRef);
79 void UpdateComponentBuses(SCH::ISch_Component * const AProcessor);
81};
83/*..............................................................................*/
84
85/*..............................................................................*/
86struct __declspec(uuid("{EEE70432-0EEA-4677-A5E4-899191C58AF8}"))
88{
90};
92/*..............................................................................*/
93
94/*..............................................................................*/
95struct __declspec(uuid("{07085A97-07BA-4256-A9D3-8D18128F56FB}"))
97{
98 void Event_ConfigurationChange(SCH::INexusDriver * const AProcessorInfo);
99};
101/*..............................................................................*/
102
103/*..............................................................................*/
104struct __declspec(uuid("{6D829576-A3A5-453A-9098-C60DF8EB492F}"))
106{
108 void ShowConfiguration(bool AShow);
110 std::wstring GetControlState(std::wstring AId);
111 void SetControlState(std::wstring AId, std::wstring AValue);
112};
114/*..............................................................................*/
115
116/*..............................................................................*/
117struct __declspec(uuid("{55E60F58-7A33-4E97-A36E-3F7AABDBAEA4}"))
118IStageCreatedListener : IDispatch
119{
120 void StageCreated(std::wstring AToolId, std::wstring AStageName, std::wstring AStageFileFullPath, std::wstring AReportExts);
121};
123/*..............................................................................*/
124
125/*..............................................................................*/
126struct __declspec(uuid("{9C832059-DB13-4B8E-B416-95B35FDF2550}"))
127IStageStateListener : IDispatch
128{
129 void Stage_Start(std::wstring AToolId, std::wstring AStageFileFullPath, SCH::IProcessFlowRunner * AProcessFlowRunner);
130 void Stage_End(std::wstring AToolId, std::wstring AStageFileFullPath, SCH::IProcessFlowRunner * AProcessFlowRunner);
131 void Stage_Invalidate(bool AInvalid, std::wstring AToolId, std::wstring AStageFileFullPath, SCH::IProcessFlowRunner * AProcessFlowRunner);
132 void Stage_Enabled(bool AEnabled, std::wstring AToolId, std::wstring AStageFileFullPath, SCH::IProcessFlowRunner * AProcessFlowRunner);
133 void Stage_Info(std::wstring AInfo, std::wstring AToolId, std::wstring AStageFileFullPath, SCH::IProcessFlowRunner * AProcessFlowRunner);
134 void Stage_Output(std::wstring ALine, bool * AProcessed);
135};
137/*..............................................................................*/
138
139/*..............................................................................*/
140struct __declspec(uuid("{9E08B932-5695-4A84-BDE1-D576E700E59A}"))
141IToolchainManager : IDispatch
142{
143 IToolchainManagerOptionDlg * GetOptionsDialog(std::wstring AFileName, std::wstring AFocusedToolId);
145 void ShowOptionsDialog(std::wstring AFileName, std::wstring AFocusedToolId);
146 bool ExecuteCompile(std::wstring const ASourceDocument, std::wstring const AToolId, SCH::IProcessFlowRunner * AProcessFlowRunner);
147 bool ExecuteCompileNoDep(std::wstring const ASrcDocFullPath, std::wstring const AToolId, SCH::IProcessFlowRunner * AProcessFlowRunner);
148 bool ExecuteBuild(SCH::IProcessFlowRunner * AProcessFlowRunner);
149 bool ExecuteRebuild(SCH::IProcessFlowRunner * AProcessFlowRunner);
151 bool ISRunning();
155 void ChildDocumentRename(std::wstring const AOldName, std::wstring const ANewName);
156 void SetUseErrFile(bool const AValue);
157 void SetUseProgressDialog(bool const AValue);
161 void SetAdditionalOutputDir(std::wstring ARelativeToOut);
163 void SetToolchain(std::wstring const AToolchainName);
164 void UpdateToolchainFromDevice(std::wstring const ADeviceName);
165 std::wstring GetProductDirectory();
172 std::wstring GetOptionDefaultValue(std::wstring const AnOptionID);
173 std::wstring ConvertMacros(std::wstring const ASource);
174 std::wstring GetToolCmdOption(std::wstring const AToolId, std::wstring const ASource);
175 std::wstring GetToolchain();
176 std::wstring GetProcessor();
178 void SetProjectName(std::wstring const AName);
179 void SetDocumentName(std::wstring const AName);
180 void SetUseLogicalDocuments(bool const AValue);
181 bool IsReady(bool AIgnoreAllowed);
182 bool CheckToolchainValid(bool AIgnoreAllowed);
183};
185/*..............................................................................*/
186
187/*..............................................................................*/
188struct __declspec(uuid("{65BC3BB6-7CD9-43AA-B813-21D6B0464B0E}"))
189IEmbeddedStackSync : IDispatch
190{
191 void BeginSync();
192 void EndSync();
193 bool CheckIsSupported(std::wstring const AHardwareId);
194 bool FpgaComponentSync(std::wstring const AComponentId, std::wstring const AName, std::wstring const AHardwareId);
195 bool FpgaComponentSetParameters(std::wstring const AComponentId, std::wstring const AParamString);
196 bool FpgaComponentSetOptionValue(std::wstring const AComponentId, std::wstring const AnOptionName, std::wstring const AValue);
197 bool FpgaSetInterruptMask(int AMask);
199 std::wstring GetPlugin(int AnIndex);
200 std::wstring PluginGetCaption(std::wstring const APluginName);
201 std::wstring PluginGetDescription(std::wstring const APluginName);
202 bool PluginIsPeripheral(std::wstring const APluginName);
203 std::wstring PluginGetHelpFile(std::wstring const APluginName);
204 std::wstring PluginGetDebugXmlFile(std::wstring const APluginName);
205 std::wstring PluginGetOptionValue(std::wstring const APluginName, std::wstring const AnOptionName);
206 bool PluginSetOptionValue(std::wstring const APluginName, std::wstring const AnOptionName, std::wstring const AValue);
207 int PluginGetInstanceCount(std::wstring const APluginName);
208 std::wstring PluginInstanceGetId(std::wstring const APluginName, int AnInstanceIndex);
209 std::wstring PluginInstanceGetName(std::wstring const AnInstanceId);
210 bool PluginInstanceSetName(std::wstring const AnInstanceId, std::wstring AName);
211 std::wstring PluginInstanceGetHardwareId(std::wstring const AnInstanceId);
212 std::wstring PluginInstanceGetOptionValue(std::wstring const AnInstanceId, std::wstring const AnOptionName);
213 bool PluginInstanceSetOptionValue(std::wstring const AnInstanceId, std::wstring const AnOptionName, std::wstring const AValue);
214 int PluginInstanceGetLinksUpCount(std::wstring const AnInstanceId);
215 std::wstring PluginInstanceGetLinkUpInstanceId(std::wstring const AnInstanceId, int AnIndex);
216 std::wstring PluginInstanceGetPlugin(std::wstring const AnInstanceId);
218 bool PluginHasInstance(std::wstring const APluginName, std::wstring const InstanceId);
219 std::wstring GetPluginFromHardwareId(std::wstring const AHardwareId);
220 std::wstring PluginGetPinMappingOptionName(std::wstring const APluginName);
221 std::wstring PluginGetPinMappingValues(std::wstring const APluginName, std::wstring const InstanceId);
222 std::wstring PluginGetPinMappingCaptions(std::wstring const APluginName, std::wstring const InstanceId);
223 std::wstring PluginGetPinValues(std::wstring const APluginName, std::wstring const InstanceId, std::wstring const APinName);
224 std::wstring PluginGetPinCaptions(std::wstring const APluginName, std::wstring const InstanceId, std::wstring const APinName);
225};
227/*..............................................................................*/
228
229/*..............................................................................*/
230struct __declspec(uuid("{1AAC5F77-0D1D-4030-B2FD-4F05E702FECA}"))
231IEmbeddedStack : IDispatch
232{
233 bool Compile();
234 bool ReCompile();
235 std::wstring GetCompileOptions();
236 std::wstring GetLinkerOptions();
239 std::wstring GetSourceLocation(int Index);
241 std::wstring GetGeneratedFile(int Index);
242};
243_COM_SMARTPTR_TYPEDEF(IEmbeddedStack, __uuidof(IEmbeddedStack)); // IEmbeddedStackPtr
244/*..............................................................................*/
245
246/*..............................................................................*/
247struct __declspec(uuid("{D5E4D929-CF0A-48C8-94C4-80C9FD47415A}"))
248IMemoryDownloader : IDispatch
249{
250 bool DownloadProgramMemory(EDP::IProject * const AEmbeddedProject, SCH::INexusDevice * const ANexusDevice);
251 bool SetupProgramMemory(EDP::IProject * const AEmbeddedProject, SCH::INexusDevice * const ANexusDevice);
252 double GetNewestFileDateTime(EDP::IProject * const AEmbeddedProject);
253 bool VerifyProgramMemory(EDP::IProject * const AEmbeddedProject, SCH::INexusDevice * const ANexusDevice);
254};
256/*..............................................................................*/
257
258/*..............................................................................*/
259struct __declspec(uuid("{DF24DBF0-7C86-46B2-88EE-B8597BA5934B}"))
260IEmbeddedModule : IDispatch
261{
262 bool CompileAGUIDesign(DXP::IServerDocument * const AServerDocument, EDP::IProject * const AProject);
263};
264_COM_SMARTPTR_TYPEDEF(IEmbeddedModule, __uuidof(IEmbeddedModule)); // IEmbeddedModulePtr
265/*..............................................................................*/
266
267
268} // namespace Embedded
269
270#pragma pack(pop)
271
272#endif // EDP_EMBEDDED_INTERFACES_H_INCLUDED
Definition EDP.Embedded.AbstractClasses.h:20
TMemoryFlattenType
Definition EDP.Embedded.Types.h:16
_COM_SMARTPTR_TYPEDEF(IInterruptManager, __uuidof(IInterruptManager))
Definition DXP.Interfaces.h:652
Definition DXP.Interfaces.h:1287
Definition DXP.Interfaces.h:715
Definition EDP.Interfaces.h:316
Definition EDP.Embedded.Interfaces.h:54
void SetReadTarget(TMemoryFlattenType Value)
void FromEncodedMemoryConfiguration(std::wstring const AEncodedConfiguration)
void FromEmbeddedProjectDefault(EDP::IProject *const AEmbeddedProject)
IEmbeddedMemory * GetMemory(int Index)
TMemoryFlattenType GetReadTarget()
IEmbeddedMemory * FindRom()
void FromEmbeddedProject(EDP::IProject *const AEmbeddedProject, bool ACanUseDefault)
Definition EDP.Embedded.Interfaces.h:35
std::wstring GetMemConfig()
std::wstring GetMemType()
bool GetIndexedMemConfig(int AnIndex, std::wstring *AName, INT64 *AnAddress, INT64 *AValue, INT64 *ASize)
std::wstring GetMatchedPhysicalMemName()
std::wstring GetHexFileName(EDP::IProject *const AEmbeddedProject)
IInterruptManager * GetInterrupts()
Definition EDP.Embedded.Interfaces.h:70
IEmbeddedMemories * CreateEmbeddedMemories(TMemoryFlattenType ATarget)
bool EmbeddedProjectHasExistingMemoryConfiguration(EDP::IProject *const AEmbeddedProject)
void UpdateComponentBuses(SCH::ISch_Component *const AProcessor)
std::wstring GetToolchainNameFromSchLibRef(std::wstring const ASchLibRef)
void EraseEmbeddedProjectMemoryConfiguration(EDP::IProject *const AEmbeddedProject)
bool IsDefinedSchLibRef(std::wstring const ALibRef)
bool ConfigureComponent(SCH::ISch_Component *const AComponent, TMemoryFlattenType ATarget)
void ConfigureEmbeddedProject(SCH::ISch_Component *const AComponent)
std::wstring GetToolchainNameFromEmbeddedProject(EDP::IProject *const AEmbeddedProject)
void AutoConfigureOpenBusProcessor(SCH::IOpenBus_Component *const AProcessor)
Definition EDP.Embedded.Interfaces.h:261
bool CompileAGUIDesign(DXP::IServerDocument *const AServerDocument, EDP::IProject *const AProject)
Definition EDP.Embedded.Interfaces.h:232
IEmbeddedStackSync * GetEmbeddedStackSyncInterface()
std::wstring GetCompileOptions()
std::wstring GetLinkerOptions()
std::wstring GetSourceLocation(int Index)
std::wstring GetGeneratedFile(int Index)
Definition EDP.Embedded.Interfaces.h:190
bool FpgaComponentSetParameters(std::wstring const AComponentId, std::wstring const AParamString)
std::wstring PluginGetPinMappingOptionName(std::wstring const APluginName)
bool FpgaComponentSetOptionValue(std::wstring const AComponentId, std::wstring const AnOptionName, std::wstring const AValue)
bool CheckIsSupported(std::wstring const AHardwareId)
std::wstring PluginGetDescription(std::wstring const APluginName)
std::wstring PluginGetPinValues(std::wstring const APluginName, std::wstring const InstanceId, std::wstring const APinName)
std::wstring PluginGetOptionValue(std::wstring const APluginName, std::wstring const AnOptionName)
std::wstring PluginInstanceGetHardwareId(std::wstring const AnInstanceId)
std::wstring PluginInstanceGetPlugin(std::wstring const AnInstanceId)
bool PluginInstanceSetOptionValue(std::wstring const AnInstanceId, std::wstring const AnOptionName, std::wstring const AValue)
std::wstring PluginInstanceGetName(std::wstring const AnInstanceId)
bool PluginInstanceSetName(std::wstring const AnInstanceId, std::wstring AName)
std::wstring GetPlugin(int AnIndex)
bool FpgaSetInterruptMask(int AMask)
std::wstring GetSwPlatformClockSpeed()
std::wstring PluginGetPinMappingValues(std::wstring const APluginName, std::wstring const InstanceId)
std::wstring PluginGetCaption(std::wstring const APluginName)
int PluginInstanceGetLinksUpCount(std::wstring const AnInstanceId)
std::wstring PluginInstanceGetId(std::wstring const APluginName, int AnInstanceIndex)
std::wstring PluginGetPinMappingCaptions(std::wstring const APluginName, std::wstring const InstanceId)
std::wstring PluginInstanceGetLinkUpInstanceId(std::wstring const AnInstanceId, int AnIndex)
std::wstring PluginInstanceGetOptionValue(std::wstring const AnInstanceId, std::wstring const AnOptionName)
std::wstring GetPluginFromHardwareId(std::wstring const AHardwareId)
bool PluginHasInstance(std::wstring const APluginName, std::wstring const InstanceId)
std::wstring PluginGetHelpFile(std::wstring const APluginName)
int PluginGetInstanceCount(std::wstring const APluginName)
bool FpgaComponentSync(std::wstring const AComponentId, std::wstring const AName, std::wstring const AHardwareId)
bool PluginIsPeripheral(std::wstring const APluginName)
std::wstring PluginGetPinCaptions(std::wstring const APluginName, std::wstring const InstanceId, std::wstring const APinName)
bool PluginSetOptionValue(std::wstring const APluginName, std::wstring const AnOptionName, std::wstring const AValue)
std::wstring PluginGetDebugXmlFile(std::wstring const APluginName)
Definition EDP.Embedded.Interfaces.h:21
void Import_FromString(std::wstring const AString)
std::wstring Export_ToString()
Definition EDP.Embedded.Interfaces.h:249
bool DownloadProgramMemory(EDP::IProject *const AEmbeddedProject, SCH::INexusDevice *const ANexusDevice)
bool VerifyProgramMemory(EDP::IProject *const AEmbeddedProject, SCH::INexusDevice *const ANexusDevice)
double GetNewestFileDateTime(EDP::IProject *const AEmbeddedProject)
bool SetupProgramMemory(EDP::IProject *const AEmbeddedProject, SCH::INexusDevice *const ANexusDevice)
Definition EDP.Embedded.Interfaces.h:119
void StageCreated(std::wstring AToolId, std::wstring AStageName, std::wstring AStageFileFullPath, std::wstring AReportExts)
Definition EDP.Embedded.Interfaces.h:128
void Stage_Output(std::wstring ALine, bool *AProcessed)
void Stage_End(std::wstring AToolId, std::wstring AStageFileFullPath, SCH::IProcessFlowRunner *AProcessFlowRunner)
void Stage_Start(std::wstring AToolId, std::wstring AStageFileFullPath, SCH::IProcessFlowRunner *AProcessFlowRunner)
void Stage_Enabled(bool AEnabled, std::wstring AToolId, std::wstring AStageFileFullPath, SCH::IProcessFlowRunner *AProcessFlowRunner)
void Stage_Invalidate(bool AInvalid, std::wstring AToolId, std::wstring AStageFileFullPath, SCH::IProcessFlowRunner *AProcessFlowRunner)
void Stage_Info(std::wstring AInfo, std::wstring AToolId, std::wstring AStageFileFullPath, SCH::IProcessFlowRunner *AProcessFlowRunner)
Definition EDP.Embedded.Interfaces.h:97
void Event_ConfigurationChange(SCH::INexusDriver *const AProcessorInfo)
Definition EDP.Embedded.Interfaces.h:88
Definition EDP.Embedded.Interfaces.h:142
std::wstring ConvertMacros(std::wstring const ASource)
bool ExecuteRebuild(SCH::IProcessFlowRunner *AProcessFlowRunner)
bool ExecuteCompile(std::wstring const ASourceDocument, std::wstring const AToolId, SCH::IProcessFlowRunner *AProcessFlowRunner)
void SetAdditionalOutputDir(std::wstring ARelativeToOut)
std::wstring GetProjectExecutableFilesPaths()
void SetStageCreatedListener(IStageCreatedListener *AListener)
std::wstring GetProjectLibraryFilesPaths()
bool ExecuteCompileNoDep(std::wstring const ASrcDocFullPath, std::wstring const AToolId, SCH::IProcessFlowRunner *AProcessFlowRunner)
void SetDocumentName(std::wstring const AName)
void SetUseLogicalDocuments(bool const AValue)
std::wstring GetToolCmdOption(std::wstring const AToolId, std::wstring const ASource)
std::wstring GetProjectSwPlatformPath()
bool CheckToolchainValid(bool AIgnoreAllowed)
std::wstring GetProjectIncludeFilesPaths()
IToolchainManagerOptionDlg * GetOptionsDialog(std::wstring AFileName, std::wstring AFocusedToolId)
void SetToolchain(std::wstring const AToolchainName)
void ShowOptionsDialog(std::wstring AFileName, std::wstring AFocusedToolId)
std::wstring GetProductDirectory()
bool IsReady(bool AIgnoreAllowed)
void ChildDocumentRename(std::wstring const AOldName, std::wstring const ANewName)
IToolchainManagerGenericOptionDlg * GetFilesWithOptionsDialog()
void UpdateToolchainFromDevice(std::wstring const ADeviceName)
bool ExecuteBuild(SCH::IProcessFlowRunner *AProcessFlowRunner)
void SetOptionsStore(DXP::IOptionsStorage *AOptionsStore)
std::wstring GetOptionDefaultValue(std::wstring const AnOptionID)
void SetUseErrFile(bool const AValue)
void AddStageStateListener(IStageStateListener *AListener)
DXP::IOptionsStorage * GetOptionsStore()
void SetUseProgressDialog(bool const AValue)
void SetProjectName(std::wstring const AName)
Definition EDP.Embedded.Interfaces.h:106
void AddListener(IToolchainManagerConfigurationListener *AListener)
void SetControlState(std::wstring AId, std::wstring AValue)
std::wstring GetControlState(std::wstring AId)
Definition EDP.SCH.Interfaces.h:3306
Definition EDP.SCH.Interfaces.h:3467
Definition EDP.SCH.Interfaces.h:2420
Definition EDP.SCH.Interfaces.h:3441
Definition EDP.SCH.Interfaces.h:1169