mem_object.hh (5494:85c8d296c1cb) mem_object.hh (5530:bbfff6d0c42c)
1/*
2 * Copyright (c) 2002-2005 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 34 unchanged lines hidden (view full) ---

43/**
44 * The base MemoryObject class, allows for an accesor function to a
45 * simobj that returns the Port.
46 */
47class MemObject : public SimObject
48{
49 public:
50 typedef MemObjectParams Params;
1/*
2 * Copyright (c) 2002-2005 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 34 unchanged lines hidden (view full) ---

43/**
44 * The base MemoryObject class, allows for an accesor function to a
45 * simobj that returns the Port.
46 */
47class MemObject : public SimObject
48{
49 public:
50 typedef MemObjectParams Params;
51 const Params *params() const
52 { return dynamic_cast<const Params *>(_params); }
53
51 MemObject(const Params *params);
52
54 MemObject(const Params *params);
55
53 const Params *
54 params() const
55 {
56 return dynamic_cast<const Params *>(_params);
57 }
58
59 protected:
60 // static: support for old-style constructors (call manually)
61 static Params *makeParams(const std::string &name);
62
63 public:
64 /** Additional function to return the Port of a memory object. */
65 virtual Port *getPort(const std::string &if_name, int idx = -1) = 0;
66
67 /** Tell object that this port is about to disappear, so it should remove it
68 * from any structures that it's keeping it in. */
69 virtual void deletePortRefs(Port *p) ;
70};
71
72#endif //__MEM_MEM_OBJECT_HH__
56 public:
57 /** Additional function to return the Port of a memory object. */
58 virtual Port *getPort(const std::string &if_name, int idx = -1) = 0;
59
60 /** Tell object that this port is about to disappear, so it should remove it
61 * from any structures that it's keeping it in. */
62 virtual void deletePortRefs(Port *p) ;
63};
64
65#endif //__MEM_MEM_OBJECT_HH__