SST/macro
service.h
Go to the documentation of this file.
1 /*
2  * This file is part of SST/macroscale:
3  * The macroscale architecture simulator from the SST suite.
4  * Copyright (c) 2009 Sandia Corporation.
5  * This software is distributed under the BSD License.
6  * Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
7  * the U.S. Government retains certain rights in this software.
8  * For more information, see the LICENSE file in the top
9  * SST/macroscale directory.
10  */
11 
12 #ifndef SSTMAC_SOFTWARE_SERVICES_SERVICE_H_INCLUDED
13 #define SSTMAC_SOFTWARE_SERVICES_SERVICE_H_INCLUDED
14 
17 
20 
21 namespace sstmac {
22 namespace sw {
23 
24 class service :
25  public library
26 {
27 
28  public:
29  virtual std::string
30  to_string() const {
31  return "service";
32  }
33 
34  virtual void
35  start() {
36  }
37 
38  virtual void
39  incoming_event(event* ev) = 0;
40 
41  protected:
42  service(const std::string& libname, software_id sid) :
43  library(libname, sid)
44  {}
45 
46  service(const char* prefix, software_id sid) :
47  library(prefix, sid)
48  {}
49 
50  virtual
52 
53 
54 };
55 
56 }
57 } //end of namespace sstmac
58 
59 #endif
60 
service(const std::string &libname, software_id sid)
Definition: service.h:42
virtual std::string to_string() const
Definition: service.h:30
virtual void start()
Definition: service.h:35
SUMI = Simulator unified messagine interface It is also the name for a solid ink in Japanese - i...
virtual ~service()
Definition: service.h:51
service(const char *prefix, software_id sid)
Definition: service.h:46
software_id sid() const
Definition: library.h:59
virtual void incoming_event(event *ev)=0
A wrapper for an appid, taskid pair.
Definition: software_id.h:28