MineTrust Connector CPP SDK

CppCliInterop.h
1// This file was generated automatically using GenerateAPIDefinition.ps1
2// Do not manually alter this file - instead modify the template and re-build the project
3#pragma once
4
5#include <chrono>
6#include <string>
7#include <unordered_map>
8#include <vector>
9#include <ppltasks.h>
10
11#ifdef CPPCLIINTEROP_EXPORTS
12#define MT_CONNECTOR_EXPORT __declspec(dllexport)
13#else
14#define MT_CONNECTOR_EXPORT __declspec(dllimport)
15#endif
16
20namespace MineTrustConnector
21{
25 class MT_CONNECTOR_EXPORT CppCliInterop
26 {
27 public:
31 enum class LogEvent
32 {
265 };
266
271 {
275 std::string packageUID;
279 std::vector<std::string> files;
283 std::vector<std::string> extensions;
287 std::unordered_map<std::string, std::string> tags;
291 std::string retention;
292 };
293
300 {
304 static MT_CONNECTOR_EXPORT const std::string SHARED_PACKAGE_VISIBILITY;
308 static MT_CONNECTOR_EXPORT const std::string PRIVATE_PACKAGE_VISIBILITY;
312 std::string filePath;
317 bool enabled = false;
321 std::string displayName;
325 std::string packageUID;
329 std::string serverUrl;
333 std::string localRoot;
338 std::string mineTrustRoot;
343 std::vector<std::string> tagNamingPatterns;
348 std::vector<IncludeConfiguration> include;
353 std::vector<std::string> exclude;
361 bool exclusiveCheckOut = false;
366 std::string owner;
372 std::string visibility;
377 std::string filter;
378 };
379
387 {
391 int totalFiles = 0;
395 int localFiles = 0;
400 };
401
406 {
414 std::string value;
418 std::vector<ConfigSchemaItem> children;
422 std::string fullPath;
423 };
424
430 {
434 std::string root;
438 std::vector<ConfigSchemaItem> items;
439 };
440
447 {
451 std::string name;
455 std::string value;
459 std::unique_ptr<int> folderID;
460 };
461
468 {
472 std::string name;
476 std::string breadcrumb;
480 std::vector<LocalTagRecord> tags;
484 std::unique_ptr<int> fileID;
488 std::string localFilePath;
489 };
490
495 {
504 std::chrono::system_clock::time_point time;
508 std::string message;
512 std::unique_ptr<int64_t> recordId;
516 int level = 0;
520 std::string filePath;
524 std::string packageUID;
528 std::unordered_map<std::string, std::string> eventArgs;
529 };
530
535 static bool LoadPackageConfiguration(const std::string& packageUID, PackageConfiguration& instance);
540 static bool SavePackageConfiguration(const PackageConfiguration& instance);
541
546 {
563 };
564
568 static RegisterServerResultCodes RegisterServer(const std::string& serverURL, bool showUI = false);
573 static concurrency::task<RegisterServerResultCodes> RegisterServerTask(const std::string& serverURL, bool showUI = false, concurrency::cancellation_token cancel = concurrency::cancellation_token::none());
578 {
607 };
608
612 static EnablePackageResultCodes EnablePackage(const std::string& packageUID, const std::string& localRoot = "", const std::string& serverURL = "", bool showUI = false);
617 static concurrency::task<EnablePackageResultCodes> EnablePackageTask(const std::string& packageUID, const std::string& localRoot = "", const std::string& serverURL = "", bool showUI = false, concurrency::cancellation_token cancel = concurrency::cancellation_token::none());
622 {
639 };
640
644 static CreateVersionResultCodes CreateVersion(const std::string& packageUID, const std::string& comment = "", bool showUI = false);
649 static concurrency::task<CreateVersionResultCodes> CreateVersionTask(const std::string& packageUID, const std::string& comment = "", bool showUI = false, concurrency::cancellation_token cancel = concurrency::cancellation_token::none());
654 {
691 };
692
696 static LockPackageResultCodes LockPackage(const std::string& packageUID, const int& ownerProcess = 0, bool showUI = false);
701 static concurrency::task<LockPackageResultCodes> LockPackageTask(const std::string& packageUID, const int& ownerProcess = 0, bool showUI = false, concurrency::cancellation_token cancel = concurrency::cancellation_token::none());
706 {
727 };
728
732 static UnlockPackageResultCodes UnlockPackage(const std::string& packageUID, bool discardChanges = false, bool showUI = false);
737 static concurrency::task<UnlockPackageResultCodes> UnlockPackageTask(const std::string& packageUID, bool discardChanges = false, bool showUI = false, concurrency::cancellation_token cancel = concurrency::cancellation_token::none());
742 {
767 };
768
772 static SyncNowResultCodes SyncNow(const std::string& packageUID, bool showUI = false);
777 static concurrency::task<SyncNowResultCodes> SyncNowTask(const std::string& packageUID, bool showUI = false, concurrency::cancellation_token cancel = concurrency::cancellation_token::none());
782 {
811 };
812
816 static UpdateServerResultCodes UpdateServer(const std::string& packageUID, const std::string& filePath, bool showUI = false);
821 static concurrency::task<UpdateServerResultCodes> UpdateServerTask(const std::string& packageUID, const std::string& filePath, bool showUI = false, concurrency::cancellation_token cancel = concurrency::cancellation_token::none());
826 {
851 };
852
856 static UpdateLocalResultCodes UpdateLocal(const std::string& packageUID, const std::string& filePath, bool showUI = false);
861 static concurrency::task<UpdateLocalResultCodes> UpdateLocalTask(const std::string& packageUID, const std::string& filePath, bool showUI = false, concurrency::cancellation_token cancel = concurrency::cancellation_token::none());
866 {
879 };
880
884 static PrintDiagnosticsResultCodes PrintDiagnostics(bool showUI = false);
889 static concurrency::task<PrintDiagnosticsResultCodes> PrintDiagnosticsTask(bool showUI = false, concurrency::cancellation_token cancel = concurrency::cancellation_token::none());
890
894 static std::vector<std::string> ListServerURLs();
895
899 static std::vector<PackageConfiguration> ListServerConfigurations();
900
904 static std::vector<PackageConfiguration> ListPackageConfigurations();
905
911 static std::vector<PackageConfiguration> FindPackageConfigurations(const std::string& jsonPath, const std::string& testValue, bool negate = false);
912
917 [[deprecated("Use FindTags and FindFiles instead")]]
918 static std::unordered_map<std::string, std::vector<std::string>> FindPackageConfigurationItems(const std::string& tagName, const std::string& tagValue);
919
926 [[deprecated("Use FindTags and FindFiles instead")]]
927 static std::unordered_map<std::string, std::vector<std::string>> FindPackageConfigurationItems(const std::unordered_map<std::string, std::string>& tagCriteria);
928
943 static std::vector<LocalTagRecord> FindTags(const std::string& nameFilter = "", const std::string& valueFilter = "", const std::string& serviceUID = "", bool fuzzyMatch = false);
944
950 static std::vector<LocalFileRecord> FindFiles(const std::string& tagName, const std::string& tagValue, const std::string& serviceUID = "", bool fuzzyMatch = false);
951
957 static std::vector<LocalFileRecord> FindFiles(const std::unordered_map<std::string, std::string>& tagCriteria, const std::string& serviceUID = "", bool fuzzyMatch = false);
958
963 static std::vector<std::string> GetDeletedPackages(const std::string& serviceUID = "");
964
969 static std::vector<std::string> GetArchivedPackages(const std::string& serviceUID = "");
970
975 static std::string GetShellExtensionName();
976
984 static PackageMetrics LoadPackageMetrics(const std::string& packageUID, const std::string& serviceUID = "");
985
990 static ConfigSchema LoadConfigSchema(const std::string& root);
991
995 static std::vector<std::string> GetPermittedValues(const std::string& configPath);
996
1001 static bool IsMineTrustConnectorInstalled();
1002
1007 static bool IsMineTrustConnectorRunning();
1008
1009 struct RegistrationWrapperImpl;
1010 using RegistrationWrapper = std::unique_ptr<RegistrationWrapperImpl, void(*)(RegistrationWrapperImpl*)>;
1011
1016 static RegistrationWrapper RegisterEvents(std::function<void(const MTConnectorEvent&)> callback, const std::list<LogEvent>& eventIDs = {});
1017
1021 static std::vector<std::string> EnumerateLocalContents(const std::string& packageUID);
1022
1027 static std::vector<std::string> EnumerateLocalFilesByTag(const std::string& packageUID, const std::string& tagName, const std::string& tagValue);
1028
1032 static bool IsInScope(const std::string& packageUID, const std::string& localFilePath);
1033
1040 static void IncludeInPackage(PackageConfiguration& instance, const std::string& localFilePath, std::function<void(IncludeConfiguration&)> configureInclusion);
1041
1047 static void ExcludeFromPackage(PackageConfiguration& instance, const std::string& localFilePath);
1048
1053 static void TagFile(PackageConfiguration& instance, const std::string& localFilePath, const std::string& tagName, const std::string& tagValue);
1054
1062 static concurrency::task<void> ReceiveFiles(const std::vector<LocalFileRecord>& selection, std::function<void(const std::vector<LocalFileRecord>&)> filesReceivedCallback, concurrency::cancellation_token cancel = concurrency::cancellation_token::none());
1063
1072 static concurrency::task<void> SendFiles(const std::vector<LocalFileRecord>& selection, std::function<PackageConfiguration(const LocalFileRecord&)> packageSelectionCallback, concurrency::cancellation_token cancel = concurrency::cancellation_token::none());
1073 };
1074}
Definition CppCliInterop.h:26
UpdateServerResultCodes
Definition CppCliInterop.h:782
UpdateLocalResultCodes
Definition CppCliInterop.h:826
RegisterServerResultCodes
Definition CppCliInterop.h:546
UnlockPackageResultCodes
Definition CppCliInterop.h:706
CreateVersionResultCodes
Definition CppCliInterop.h:622
PrintDiagnosticsResultCodes
Definition CppCliInterop.h:866
LockPackageResultCodes
Definition CppCliInterop.h:654
@ FilesCheckedOutElsewhere
Definition CppCliInterop.h:670
LogEvent
Definition CppCliInterop.h:32
@ PackageDeletionFailed
Definition CppCliInterop.h:256
@ PackageVersionCreated
Definition CppCliInterop.h:68
@ PackageDeleted
Definition CppCliInterop.h:72
@ AllFilesUpToDate
Definition CppCliInterop.h:36
@ ServiceError
Definition CppCliInterop.h:160
@ FileVersionsCleanedUp
Definition CppCliInterop.h:128
@ FileChangesDiscarded
Definition CppCliInterop.h:124
@ SyncCompleted
Definition CppCliInterop.h:44
@ ReplicationStarted
Definition CppCliInterop.h:48
@ CreateVersionFailed
Definition CppCliInterop.h:252
@ GeneralSyncError
Definition CppCliInterop.h:198
@ ServerRegistrationFailed
Definition CppCliInterop.h:220
@ GracefulShutdown
Definition CppCliInterop.h:156
@ SSLErrorDetected
Definition CppCliInterop.h:194
@ FileDownloadInProgress
Definition CppCliInterop.h:136
@ FileUpdatedOnServer
Definition CppCliInterop.h:96
@ AccessTokenSuccess
Definition CppCliInterop.h:168
@ PreparingFileUpload
Definition CppCliInterop.h:140
@ FileConflict
Definition CppCliInterop.h:248
@ GeneralReplicationError
Definition CppCliInterop.h:202
@ FileDiscarded
Definition CppCliInterop.h:108
@ FileCheckedIn
Definition CppCliInterop.h:116
@ FileUncheckedOut
Definition CppCliInterop.h:120
@ UpdateLocalFailed
Definition CppCliInterop.h:236
@ AccessForbidden
Definition CppCliInterop.h:264
@ AccessTokenRequired
Definition CppCliInterop.h:216
@ ProcessOwnedLockRemoved
Definition CppCliInterop.h:64
@ EnablePackageFailed
Definition CppCliInterop.h:232
@ PackageValidationFailed
Definition CppCliInterop.h:244
@ FileCheckedOut
Definition CppCliInterop.h:112
@ FileRemovedOnServer
Definition CppCliInterop.h:100
@ FileUpdatedLocally
Definition CppCliInterop.h:92
@ PackagePreviouslyDeleted
Definition CppCliInterop.h:189
@ PackageEnabled
Definition CppCliInterop.h:172
@ Initialising
Definition CppCliInterop.h:144
@ ClientCompatibilityError
Definition CppCliInterop.h:185
@ FileReplicated
Definition CppCliInterop.h:104
@ ServiceUIDMismatch
Definition CppCliInterop.h:177
@ SyncStarted
Definition CppCliInterop.h:40
@ FileUploaded
Definition CppCliInterop.h:84
@ ConnectionEstablished
Definition CppCliInterop.h:148
@ PackageAutoEnableUndetermined
Definition CppCliInterop.h:181
@ FileDownloaded
Definition CppCliInterop.h:88
@ PackageRestored
Definition CppCliInterop.h:80
@ PackageConfigurationNotFound
Definition CppCliInterop.h:210
@ ReplicationComplete
Definition CppCliInterop.h:52
@ PackageDisabled
Definition CppCliInterop.h:60
@ ConnectionLost
Definition CppCliInterop.h:152
@ ServerRegistered
Definition CppCliInterop.h:164
@ UpdateServerFailed
Definition CppCliInterop.h:240
@ LockPackageFailed
Definition CppCliInterop.h:224
@ FileUploadInProgress
Definition CppCliInterop.h:132
@ Unauthorized
Definition CppCliInterop.h:206
@ PrintDiagnosticsFailed
Definition CppCliInterop.h:260
@ VersionLocked
Definition CppCliInterop.h:56
@ UnlockPackageFailed
Definition CppCliInterop.h:228
@ PackageArchived
Definition CppCliInterop.h:76
static bool LoadPackageConfiguration(const std::string &packageUID, PackageConfiguration &instance)
Definition CppCliInterop.cpp:508
EnablePackageResultCodes
Definition CppCliInterop.h:578
SyncNowResultCodes
Definition CppCliInterop.h:742
static bool SavePackageConfiguration(const PackageConfiguration &instance)
Definition CppCliInterop.cpp:522
std::string root
Definition CppCliInterop.h:434
std::vector< ConfigSchemaItem > items
Definition CppCliInterop.h:438
std::string value
Definition CppCliInterop.h:414
ConfigSchemaItem * parent
Definition CppCliInterop.h:410
std::string fullPath
Definition CppCliInterop.h:422
std::vector< ConfigSchemaItem > children
Definition CppCliInterop.h:418
std::vector< std::string > files
Definition CppCliInterop.h:279
std::vector< std::string > extensions
Definition CppCliInterop.h:283
std::unordered_map< std::string, std::string > tags
Definition CppCliInterop.h:287
std::string retention
Definition CppCliInterop.h:291
std::string packageUID
Definition CppCliInterop.h:275
std::string localFilePath
Definition CppCliInterop.h:488
std::unique_ptr< int > fileID
Definition CppCliInterop.h:484
std::string name
Definition CppCliInterop.h:472
std::string breadcrumb
Definition CppCliInterop.h:476
std::vector< LocalTagRecord > tags
Definition CppCliInterop.h:480
std::string value
Definition CppCliInterop.h:455
std::string name
Definition CppCliInterop.h:451
std::unique_ptr< int > folderID
Definition CppCliInterop.h:459
std::string packageUID
Definition CppCliInterop.h:524
LogEvent eventId
Definition CppCliInterop.h:500
std::unordered_map< std::string, std::string > eventArgs
Definition CppCliInterop.h:528
std::unique_ptr< int64_t > recordId
Definition CppCliInterop.h:512
std::string message
Definition CppCliInterop.h:508
int level
Definition CppCliInterop.h:516
std::chrono::system_clock::time_point time
Definition CppCliInterop.h:504
std::string filePath
Definition CppCliInterop.h:520
std::vector< IncludeConfiguration > include
Definition CppCliInterop.h:348
bool exclusiveCheckOut
Definition CppCliInterop.h:361
std::string mineTrustRoot
Definition CppCliInterop.h:338
std::string owner
Definition CppCliInterop.h:366
int targetVersion
Definition CppCliInterop.h:357
std::string displayName
Definition CppCliInterop.h:321
std::string localRoot
Definition CppCliInterop.h:333
std::string visibility
Definition CppCliInterop.h:372
std::vector< std::string > tagNamingPatterns
Definition CppCliInterop.h:343
static MT_CONNECTOR_EXPORT const std::string PRIVATE_PACKAGE_VISIBILITY
Definition CppCliInterop.h:308
static MT_CONNECTOR_EXPORT const std::string SHARED_PACKAGE_VISIBILITY
Definition CppCliInterop.h:304
std::string serverUrl
Definition CppCliInterop.h:329
std::vector< std::string > exclude
Definition CppCliInterop.h:353
std::string filePath
Definition CppCliInterop.h:312
std::string packageUID
Definition CppCliInterop.h:325
std::string filter
Definition CppCliInterop.h:377
int percentageDownloaded
Definition CppCliInterop.h:399
int totalFiles
Definition CppCliInterop.h:391
int localFiles
Definition CppCliInterop.h:395