1818#include " Commands/GetElementBaseData.hpp"
1919#include " Commands/GetGridElementData.hpp"
2020#include " Commands/GetObjectData.hpp"
21+ #include " Commands/GetOpeningData.hpp"
2122#include " Commands/GetSlabData.hpp"
2223#include " Commands/GetRoofData.hpp"
2324#include " Commands/GetShellData.hpp"
3132#include " Commands/CreateColumn.hpp"
3233#include " Commands/CreateGridElement.hpp"
3334#include " Commands/CreateObject.hpp"
35+ #include " Commands/CreateOpening.hpp"
3436#include " Commands/CreateRoof.hpp"
3537#include " Commands/CreateSkylight.hpp"
3638#include " Commands/CreateSlab.hpp"
@@ -90,46 +92,41 @@ class AvaloniaProcessManager {
9092private:
9193 GS ::UniString GetPlatformSpecificExecutablePath ()
9294 {
93- #if defined (macintosh)
94- static const char * FileName = " ConnectorArchicad" ;
95- #else
96- static const char * FileName = " ConnectorArchicad.exe" ;
97- #endif
98- static const char * FolderNameCommon = " Common" ;
99- static const char * FolderName = " ConnectorArchicad" ;
100-
10195 IO ::Location ownFileLoc;
10296 auto err = ACAPI_GetOwnLocation (&ownFileLoc);
10397 if (err != NoError) {
10498 return " " ;
10599 }
106100
101+ #if defined (macintosh)
102+ static const char * ProductionConnector = " ../../../Common/ConnectorArchicad/ConnectorArchicad.app/Contents/MacOS/ConnectorArchicad" ;
103+ #else
104+ static const char * ProductionConnector = " ../../../Common/ConnectorArchicad/ConnectorArchicad.exe" ;
105+ #endif
106+
107107 IO ::Location location (ownFileLoc);
108- location.DeleteLastLocalName ();
109- location.DeleteLastLocalName ();
110- location.DeleteLastLocalName ();
111- location.AppendToLocal (IO::Name (FolderNameCommon));
112- location.AppendToLocal (IO::Name (FolderName));
113- location.AppendToLocal (IO::Name (FileName));
108+ location.AppendToLocal (IO::RelativeLocation (ProductionConnector));
114109
115110 bool exist (false );
116111 err = IO ::fileSystem.Contains (location, &exist);
117112 if (err != NoError || !exist) {
118113 location = ownFileLoc;
119- location.DeleteLastLocalName ();
120- location.DeleteLastLocalName ();
121- location.DeleteLastLocalName ();
122- location.DeleteLastLocalName ();
123114
124- location.AppendToLocal (IO::Name (FolderName));
125- location.AppendToLocal (IO::Name (" bin" ));
115+ #if defined (macintosh)
126116#ifdef DEBUG
127- location. AppendToLocal ( IO::Name ( " Debug" )) ;
117+ static const char * DevelopmentConnector = " ../../../../ConnectorArchicad/bin/ Debug/net6.0/ConnectorArchicad " ;
128118#else
129- location. AppendToLocal ( IO::Name ( " Release" )) ;
119+ static const char * DevelopmentConnector = " ../../../../ConnectorArchicad/bin/ Release/net6.0/ConnectorArchicad " ;
130120#endif
131- location.AppendToLocal (IO::Name (" net6.0" ));
132- location.AppendToLocal (IO::Name (FileName));
121+ #else
122+ #ifdef DEBUG
123+ static const char * DevelopmentConnector = " ../../../../ConnectorArchicad/bin/Debug/net6.0/ConnectorArchicad.exe" ;
124+ #else
125+ static const char * DevelopmentConnector = " ../../../../ConnectorArchicad/bin/Release/net6.0/ConnectorArchicad.exe" ;
126+ #endif
127+ #endif
128+
129+ location.AppendToLocal (IO::RelativeLocation (DevelopmentConnector));
133130 }
134131
135132 GS ::UniString executableStr;
@@ -200,6 +197,7 @@ static GSErrCode RegisterAddOnCommands ()
200197 CHECKERROR (ACAPI_AddOnAddOnCommunication_InstallAddOnCommandHandler (NewOwned<AddOnCommands::GetElementBaseData> ()));
201198 CHECKERROR (ACAPI_AddOnAddOnCommunication_InstallAddOnCommandHandler (NewOwned<AddOnCommands::GetGridElementData> ()));
202199 CHECKERROR (ACAPI_AddOnAddOnCommunication_InstallAddOnCommandHandler (NewOwned<AddOnCommands::GetObjectData> ()));
200+ CHECKERROR (ACAPI_AddOnAddOnCommunication_InstallAddOnCommandHandler (NewOwned<AddOnCommands::GetOpeningData> ()));
203201 CHECKERROR (ACAPI_AddOnAddOnCommunication_InstallAddOnCommandHandler (NewOwned<AddOnCommands::GetRoofData> ()));
204202 CHECKERROR (ACAPI_AddOnAddOnCommunication_InstallAddOnCommandHandler (NewOwned<AddOnCommands::GetShellData> ()));
205203 CHECKERROR (ACAPI_AddOnAddOnCommunication_InstallAddOnCommandHandler (NewOwned<AddOnCommands::GetSkylightData> ()));
@@ -213,6 +211,7 @@ static GSErrCode RegisterAddOnCommands ()
213211 CHECKERROR (ACAPI_AddOnAddOnCommunication_InstallAddOnCommandHandler (NewOwned<AddOnCommands::CreateGridElement> ()));
214212 CHECKERROR (ACAPI_AddOnAddOnCommunication_InstallAddOnCommandHandler (NewOwned<AddOnCommands::CreateColumn> ()));
215213 CHECKERROR (ACAPI_AddOnAddOnCommunication_InstallAddOnCommandHandler (NewOwned<AddOnCommands::CreateObject> ()));
214+ CHECKERROR (ACAPI_AddOnAddOnCommunication_InstallAddOnCommandHandler (NewOwned<AddOnCommands::CreateOpening> ()));
216215 CHECKERROR (ACAPI_AddOnAddOnCommunication_InstallAddOnCommandHandler (NewOwned<AddOnCommands::CreateRoof> ()));
217216 CHECKERROR (ACAPI_AddOnAddOnCommunication_InstallAddOnCommandHandler (NewOwned<AddOnCommands::CreateShell> ()));
218217 CHECKERROR (ACAPI_AddOnAddOnCommunication_InstallAddOnCommandHandler (NewOwned<AddOnCommands::CreateSkylight> ()));
0 commit comments