File: Clusterable.h

package info (click to toggle)
opennebula 3.4.1-3.1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 9,680 kB
  • sloc: cpp: 35,288; ruby: 24,818; sh: 5,212; java: 4,001; xml: 1,163; yacc: 821; sql: 252; lex: 216; ansic: 192; makefile: 91; python: 46
file content (78 lines) | stat: -rw-r--r-- 2,292 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/* ------------------------------------------------------------------------ */
/* Copyright 2002-2012, OpenNebula Project Leads (OpenNebula.org)           */
/*                                                                          */
/* Licensed under the Apache License, Version 2.0 (the "License"); you may  */
/* not use this file except in compliance with the License. You may obtain  */
/* a copy of the License at                                                 */
/*                                                                          */
/* http://www.apache.org/licenses/LICENSE-2.0                               */
/*                                                                          */
/* Unless required by applicable law or agreed to in writing, software      */
/* distributed under the License is distributed on an "AS IS" BASIS,        */
/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. */
/* See the License for the specific language governing permissions and      */
/* limitations under the License.                                           */
/* -------------------------------------------------------------------------*/

#ifndef CLUSTERABLE_H_
#define CLUSTERABLE_H_

using namespace std;

class Clusterable
{
public:

    /**
     * Changes the cluster this object belongs to
     *
     * @param _cluster_id Id of the new cluster
     * @param _cluster Name of the new cluster
     */
    void set_cluster(int _cluster_id, const string& _cluster)
    {
        cluster_id  = _cluster_id;
        cluster     = _cluster;
    };

    /**
     * Returns the cluster ID
     *
     * @return The cluster ID
     */
    int get_cluster_id() const
    {
        return cluster_id;
    };

    /**
     * Returns the cluster name
     *
     * @return The cluster name
     */
    const string& get_cluster_name() const
    {
        return cluster;
    };


protected:

    Clusterable(int _cluster_id, const string& _cluster):
        cluster_id(_cluster_id),
        cluster(_cluster){};

    ~Clusterable(){};

    /**
     * ID of the cluster this object belongs to.
     */
    int         cluster_id;

    /**
     *  Name of the cluster this object belongs to.
     */
    string      cluster;
};

#endif /*CLUSTERABLE_H_*/