Vuo 2.4.4
Loading...
Searching...
No Matches
VuoCompositionDiff.hh
Go to the documentation of this file.
1
10#pragma once
11
12class VuoRuntimeState;
13#include "VuoCompositionState.h"
14
19{
20public:
33
34private:
35 char *diff;
36
37 static string joinPortIdentifier(const string &nodeIdentifier, const string &portName);
38 static string convertIdentifierToPath(const char *compositionIdentifier, const char *nodeIdentifier);
39 static void convertPathToIdentifier(const char *nodePath, string &compositionIdentifier, string &nodeIdentifier);
40
41public:
44 void setDiff(char *diff);
45 ChangeType findNode(const char *compositionIdentifier, const char *nodeIdentifier, json_object **replacementObj);
46 bool isNodeBeingRemovedOrReplaced(const char *compositionIdentifier, const char *nodeIdentifier, json_object **replacementObj);
47 bool isNodeBeingAddedOrReplaced(const char *compositionIdentifier, const char *nodeIdentifier, json_object **replacementObj);
48 bool isPortBeingReplaced(const char *portName, json_object *replacementObj);
49 bool isPortReplacingAnother(const char *portName, json_object *replacementObj, string &oldNodeIdentifier, string &oldPortIdentifier);
50 bool isNodeBeingMovedToHere(const char *newCompositionIdentifier, const char *nodeIdentifier, json_object *replacementObj, string &oldCompositionIdentifier);
51 bool isPortBeingCopied(const char *portName, json_object *replacementObj, string &destinationCompositionIdentifier, string &destinationPortIdentifier);
53};
54
55extern "C"
56{
57void vuoSetCompositionDiff(VuoCompositionState *compositionState, char *diff);
58bool vuoIsNodeBeingRemovedOrReplaced(VuoCompositionState *compositionState, const char *nodeIdentifier, json_object **replacementObj);
59bool vuoIsNodeBeingAddedOrReplaced(VuoCompositionState *compositionState, const char *nodeIdentifier, json_object **replacementObj);
60}