diff --git a/workflows/another.cc b/workflows/another.cc index 87f88ee1d58982a2a3262f990291c40c2676d97a..d0a01ae699f43351e89bddc25ed51908fc152a97 100644 --- a/workflows/another.cc +++ b/workflows/another.cc @@ -1,24 +1,14 @@ #include <cis-workflow-gen/quick-include.hpp> int main() { - #define DEFINE_ACTIVITY(name, entityName) \ - Activity name (#name, "FleetAGC.Activities.DelayActivity", entityName); \ - name.addInputSetting("Timespan", "60"); - - DEFINE_ACTIVITY(GridManager, "M365Poc.SPO.GridManager") - DEFINE_ACTIVITY(AuthAndProvision, "M365Poc.SPO.AuthProvisioning") - DEFINE_ACTIVITY(FarmsAndTennats, "") - DEFINE_ACTIVITY(CSC , "") - DEFINE_ACTIVITY(FastSearch , "") - DEFINE_ACTIVITY(Microservices, "M365Poc.SPO.MicroServices") - DEFINE_ACTIVITY(MonitorAndAlert, "M365Poc.SPO.MonitoringAlerting") - DEFINE_ACTIVITY(SPOTooling, "M365Poc.SPO.SPOTooling") - DEFINE_ACTIVITY(UXCDNFailover, "M365Poc.SPO.UXCDNFailover") - DEFINE_ACTIVITY(ODFBSyncClient, "M365Poc.SPO.ODFBSyncClient") + #define A_2(name, entityName) (Activity(#name, "FleetAGC.Activities.DelayActivity", #entityName).addInputSetting("Timespan", "60")) + #define A_1(name) A_2(name, "") + #define A_proxy(x, Arg1, Arg2, FUNC, ...) FUNC + #define A(...) A_proxy(, ##__VA_ARGS__, A_2(__VA_ARGS__), A_1(__VA_ARGS__)) - auto block1 = GridManager >> FarmsAndTennats >> (CSC | FastSearch); - auto block2 = Microservices | MonitorAndAlert; - auto completeFlow = block1 | AuthAndProvision | block2;// | SPOTooling | UXCDNFailover | ODFBSyncClient; + auto block1 = A(GridManager, M365Poc.SPO.GridManager) >> A(FarmsAndTennats) >> (A(CSC) | A(FastSearch)); + auto block2 = A(Microservices, M365Poc.SPO.MicroServices) | A(MonitorAndAlert, M365Poc.SPO.MonitoringAlerting); + auto completeFlow = block1 | A(AuthAndProvision, M365Poc.SPO.AuthProvisioning) | block2 | A(SPOTooling, M365Poc.SPO.SPOTooling) | A(UXCDNFailover, M365Poc.SPO.UXCDNFailover) | A(ODFBSyncClient, M365Poc.SPO.ODFBSyncClient); println(to_file("SPOBuildoutPOCWorkflow.xaml"), completeFlow.generateXaml("FleetAGC.Workflows.SPOBuildoutPOCWorkflow")); }