CFx SDK Documentation  2023 SP0
FxPluginModuleDefines.h
Go to the documentation of this file.
1 //
2 // (C) Copyright 2005-2022 by Graebert GmbH.
3 //
4 // Permission to use, copy, modify, and distribute this software in
5 // object code form for any purpose and without fee is hereby granted,
6 // provided that the above copyright notice appears in all copies and
7 // that both that copyright notice and the limited warranty and
8 // restricted rights notice below appear in all supporting
9 // documentation.
10 //
11 // GRAEBERT PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
12 // GRAEBERT SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
13 // MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. GRAEBERT GMBH
14 // DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
15 // UNINTERRUPTED OR ERROR FREE.
16 
17 #pragma once
18 
19 #include "FxString.h"
20 
21 /* IMPORTANT: DO NOT CHANGE THIS FILE! */
22 
23 /* It is used internally by the CAD libraries. */
24 
25 #ifndef FX_PLUGINMODULE_INTERNAL_METHOD
26  #define FX_PLUGINMODULE_INTERNAL_METHOD( ModuleMethod ) \
27  void ModuleMethod () override { internal->ModuleMethod (this); }
28 #endif
29 
30 #ifndef FX_PLUGINMODULE_INTERNAL
31  #define FX_PLUGINMODULE_INTERNAL \
32  private: \
33  FX_PLUGINMODULE_INTERNAL_METHOD( initApp ) \
34  FX_PLUGINMODULE_INTERNAL_METHOD( uninitApp )
35 #endif
36 
37 #ifdef _DEVELOPER_STUDIO
38  // Defines a plugin for Graebert Developer Studio.
39  #define FX_DEFINE_CORE_APPLICATION internal->setEdition( L"Graebert Developer Studio" );
40 #elif defined _CORELCAD
41  // Defines a plugin for CorelCAD.
42  #define FX_DEFINE_CORE_APPLICATION internal->setEdition( L"CorelCAD" );
43 #else
44  #define FX_DEFINE_CORE_APPLICATION
45 #endif