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