00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef SST_ELEMENT_H
00013 #define SST_ELEMENT_H
00014
00015 #include <sst/core/component.h>
00016
00017 namespace SST {
00018 typedef Component* (*componentAllocate)(ComponentId_t, Component::Params_t&);
00019 typedef void (*eventInitialize)(void);
00020
00021 struct ElementInfoComponent {
00022 const char *name;
00023 const char *description;
00024 void (*printHelp)(FILE *output);
00025 componentAllocate alloc;
00026 };
00027
00028 struct ElementInfoEvent {
00029 const char *name;
00030 const char *description;
00031 void (*printHelp)(FILE *output);
00032 eventInitialize init;
00033 };
00034
00035 struct ElementLibraryInfo {
00036 const char *name;
00037 const char *description;
00038 const struct ElementInfoComponent* components;
00039 const struct ElementInfoEvent* events;
00040 };
00041 };
00042
00043 #endif // SST_ELEMENT_H