• Main Page
  • Related Pages
  • Modules
  • Data Structures
  • Files
  • File List
  • Globals

sst/core/element.h

00001 // Copyright 2009-2010 Sandia Corporation. Under the terms
00002 // of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S.
00003 // Government retains certain rights in this software.
00004 // 
00005 // Copyright (c) 2009-2010, Sandia Corporation
00006 // All rights reserved.
00007 // 
00008 // This file is part of the SST software package. For license
00009 // information, see the LICENSE file in the top level directory of the
00010 // distribution.
00011 
00012 #ifndef SST_ELEMENT_H
00013 #define SST_ELEMENT_H
00014 
00015 #include <sst/core/component.h>
00016 
00017 namespace SST {
00018 class Introspector;
00019 
00020 typedef Component* (*componentAllocate)(ComponentId_t, Component::Params_t&);
00021 typedef Introspector* (*introspectorAllocate)(Component::Params_t&);
00022 typedef void (*eventInitialize)(void);
00023 
00024 struct ElementInfoComponent {
00025     const char *name;
00026     const char *description;
00027     void (*printHelp)(FILE *output);
00028     componentAllocate alloc;
00029 };
00030 
00031 struct ElementInfoIntrospector {
00032     const char *name;
00033     const char *description;
00034     void (*printHelp)(FILE *output);
00035     introspectorAllocate alloc;
00036 };
00037 
00038 struct ElementInfoEvent {
00039     const char *name;
00040     const char *description;
00041     void (*printHelp)(FILE *output);
00042     eventInitialize init;
00043 };
00044 
00045 struct ElementLibraryInfo {
00046     const char *name;
00047     const char *description;
00048     const struct ElementInfoComponent* components;
00049     const struct ElementInfoEvent* events;
00050     const struct ElementInfoIntrospector* introspectors;
00051 };
00052 };
00053 
00054 #endif // SST_ELEMENT_H

Generated on Fri Oct 22 2010 11:02:13 for SST by  doxygen 1.7.1