author | Mathieu Lacage <mathieu.lacage@sophia.inria.fr> |
Sun, 02 Mar 2008 21:00:37 +0100 | |
changeset 2531 | b451b5fc8b57 |
parent 2254 | 81fc1ce2d7bd |
permissions | -rw-r--r-- |
2242
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
1 |
#ifndef INTERFACE_ID_DEFAULT_VALUE_H |
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
2 |
#define INTERFACE_ID_DEFAULT_VALUE_H |
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
3 |
|
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
4 |
#include "default-value.h" |
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
5 |
#include "object.h" |
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
6 |
|
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
7 |
namespace ns3 { |
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
8 |
|
2250
18f432098389
InterfaceId -> TypeId
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2242
diff
changeset
|
9 |
class TypeIdDefaultValue : public DefaultValueBase |
2242
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
10 |
{ |
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
11 |
public: |
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
12 |
/** |
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
13 |
* \param name the name of this default value. |
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
14 |
* \param help the help text associated to this default value |
2252
80595448707a
iid -> tid
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2250
diff
changeset
|
15 |
* \param tid the interface id which all objects created |
2242
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
16 |
* through this "default value" must support. |
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
17 |
* \param defaultValue the name of the object to create |
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
18 |
* by default. |
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
19 |
*/ |
2250
18f432098389
InterfaceId -> TypeId
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2242
diff
changeset
|
20 |
TypeIdDefaultValue (std::string name, |
2242
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
21 |
std::string help, |
2252
80595448707a
iid -> tid
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2250
diff
changeset
|
22 |
TypeId tid, |
2242
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
23 |
std::string defaultValue); |
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
24 |
/** |
2250
18f432098389
InterfaceId -> TypeId
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2242
diff
changeset
|
25 |
* \returns the TypeId of the object selected by the user. |
2242
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
26 |
*/ |
2250
18f432098389
InterfaceId -> TypeId
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2242
diff
changeset
|
27 |
TypeId GetValue (void) const; |
2242
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
28 |
/** |
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
29 |
* \param interfaceId the new ClassId selected. |
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
30 |
* |
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
31 |
* Override the currently-selected value. |
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
32 |
*/ |
2250
18f432098389
InterfaceId -> TypeId
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2242
diff
changeset
|
33 |
void SetValue (TypeId interfaceId); |
2242
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
34 |
/** |
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
35 |
* \param name the new object selected. |
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
36 |
* |
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
37 |
* Override the currently-selected value. |
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
38 |
*/ |
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
39 |
void SetValue (std::string name); |
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
40 |
private: |
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
41 |
virtual bool DoParseValue (const std::string &value); |
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
42 |
virtual std::string DoGetType (void) const; |
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
43 |
virtual std::string DoGetDefaultValue (void) const; |
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
44 |
std::string m_defaultName; |
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
45 |
std::string m_name; |
2250
18f432098389
InterfaceId -> TypeId
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2242
diff
changeset
|
46 |
TypeId m_interfaceId; |
2242
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
47 |
}; |
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
48 |
|
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
49 |
} // namespace ns3 |
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
50 |
|
972b35e48f75
a replacement for ClassIdDefaultValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
51 |
#endif /* INTERFACE_ID_DEFAULT_VALUE_H */ |