Line data Source code
1 : /* 2 : * Copyright (c) 2013 Juniper Networks, Inc. All rights reserved. 3 : */ 4 : 5 : #ifndef ctrlplane_ifmap_origin_h 6 : #define ctrlplane_ifmap_origin_h 7 : 8 : struct IFMapOrigin { 9 : enum Origin { 10 : UNKNOWN, 11 : LOCAL, 12 : MAP_SERVER, 13 : XMPP, 14 : CASSANDRA, 15 : }; 16 338356 : IFMapOrigin() : origin(UNKNOWN) { } 17 12581 : IFMapOrigin(Origin in_origin) : origin(in_origin) { } 18 53237 : bool operator==(const IFMapOrigin &rhs) const { 19 53237 : return origin == rhs.origin; 20 : } 21 170557 : void set_origin(Origin in_origin) { origin = in_origin; } 22 0 : std::string ToString() const { 23 0 : if (origin == UNKNOWN) { 24 0 : return "Unknown"; 25 0 : } else if (origin == LOCAL) { 26 0 : return "Local"; 27 0 : } else if (origin == MAP_SERVER) { 28 0 : return "MapServer"; 29 0 : } else if (origin == XMPP) { 30 0 : return "Xmpp"; 31 0 : } else if (origin == CASSANDRA) { 32 0 : return "Cassandra"; 33 : } else { 34 0 : return "NotSet"; 35 : } 36 : } 37 133079 : bool IsOriginXmpp() const { 38 133079 : return ((origin == XMPP) ? true : false); 39 : } 40 : 41 : Origin origin; 42 : }; 43 : 44 : #endif