MultiQueryFlow.h (1263B)
1 // Copyright (c) Microsoft Corporation. 2 // Licensed under the MIT License. 3 #pragma once 4 #include "ExecutionContext.h" 5 6 // Workflow tasks related to dealing with multiple package queries at once. 7 8 namespace AppInstaller::CLI::Workflow 9 { 10 // Gets the search requests for multiple queries from the command line. 11 // Required Args: None 12 // Inputs: Source 13 // Outputs: PackageSubContexts 14 // SubContext Inputs: None 15 // SubContext Outputs: Source, SearchRequest 16 void GetMultiSearchRequests(Execution::Context& context); 17 18 // Performs searches on each of the sub-contexts with the semantics of targeting a single package for each one. 19 // Required Args: a value indicating the purpose of the search 20 // Inputs: PackageSubContexts 21 // Outputs: None 22 // SubContext Inputs: Source, SearchRequest 23 // SubContext Outputs: SearchResult 24 struct SearchSubContextsForSingle : public WorkflowTask 25 { 26 SearchSubContextsForSingle(OperationType operation = OperationType::Install) : WorkflowTask("SearchSubContextsForSingle"), m_operationType(operation) {} 27 28 void operator()(Execution::Context& context) const override; 29 30 private: 31 OperationType m_operationType; 32 }; 33 }