]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - plugins/entity/namekeys.h
reformat code! now the code is only ugly on the *inside*
[xonotic/netradiant.git] / plugins / entity / namekeys.h
index 45943f1f336c66f0d247ba2c18c9c5048728c42b..f298674c3dc2d645fda30918fa7c506c4c33079e 100644 (file)
 #include "entitylib.h"
 #include "namespace.h"
 
-inline bool string_is_integer( const char* string ){
-       strtol( string, const_cast<char**>( &string ), 10 );
-       return *string == '\0';
+inline bool string_is_integer(const char *string)
+{
+    strtol(string, const_cast<char **>( &string ), 10);
+    return *string == '\0';
 }
 
-typedef bool ( *KeyIsNameFunc )( const char* key );
+typedef bool ( *KeyIsNameFunc )(const char *key);
 
-class KeyIsName
-{
+class KeyIsName {
 public:
-KeyIsNameFunc m_keyIsName;
-const char* m_nameKey;
+    KeyIsNameFunc m_keyIsName;
+    const char *m_nameKey;
 
-KeyIsName(){
-}
+    KeyIsName()
+    {
+    }
 };
 
 
-typedef MemberCaller<EntityKeyValue, void(const char*), &EntityKeyValue::assign> KeyValueAssignCaller;
-typedef MemberCaller<EntityKeyValue, void(const KeyObserver&), &EntityKeyValue::attach> KeyValueAttachCaller;
-typedef MemberCaller<EntityKeyValue, void(const KeyObserver&), &EntityKeyValue::detach> KeyValueDetachCaller;
+typedef MemberCaller<EntityKeyValue, void(const char *), &EntityKeyValue::assign> KeyValueAssignCaller;
+typedef MemberCaller<EntityKeyValue, void(const KeyObserver &), &EntityKeyValue::attach> KeyValueAttachCaller;
+typedef MemberCaller<EntityKeyValue, void(const KeyObserver &), &EntityKeyValue::detach> KeyValueDetachCaller;
+
+class NameKeys : public Entity::Observer, public Namespaced {
+    Namespace *m_namespace;
+    EntityKeyValues &m_entity;
+    KeyIsNameFunc m_keyIsName;
+
+    NameKeys(const NameKeys &other);
+
+    NameKeys &operator=(const NameKeys &other);
+
+    typedef std::map<CopiedString, EntityKeyValue *> KeyValues;
+    KeyValues m_keyValues;
+
+    void insertName(const char *key, EntityKeyValue &value)
+    {
+        if (m_namespace != 0 && m_keyIsName(key)) {
+            //globalOutputStream() << "insert " << key << "\n";
+            m_namespace->attach(KeyValueAssignCaller(value), KeyValueAttachCaller(value));
+        }
+    }
+
+    void eraseName(const char *key, EntityKeyValue &value)
+    {
+        if (m_namespace != 0 && m_keyIsName(key)) {
+            //globalOutputStream() << "erase " << key << "\n";
+            m_namespace->detach(KeyValueAssignCaller(value), KeyValueDetachCaller(value));
+        }
+    }
+
+    void insertAll()
+    {
+        for (KeyValues::iterator i = m_keyValues.begin(); i != m_keyValues.end(); ++i) {
+            insertName((*i).first.c_str(), *(*i).second);
+        }
+    }
+
+    void eraseAll()
+    {
+        for (KeyValues::iterator i = m_keyValues.begin(); i != m_keyValues.end(); ++i) {
+            eraseName((*i).first.c_str(), *(*i).second);
+        }
+    }
 
-class NameKeys : public Entity::Observer, public Namespaced
-{
-Namespace* m_namespace;
-EntityKeyValues& m_entity;
-KeyIsNameFunc m_keyIsName;
-NameKeys( const NameKeys& other );
-NameKeys& operator=( const NameKeys& other );
-
-typedef std::map<CopiedString, EntityKeyValue*> KeyValues;
-KeyValues m_keyValues;
-
-void insertName( const char* key, EntityKeyValue& value ){
-       if ( m_namespace != 0 && m_keyIsName( key ) ) {
-               //globalOutputStream() << "insert " << key << "\n";
-               m_namespace->attach( KeyValueAssignCaller( value ), KeyValueAttachCaller( value ) );
-       }
-}
-void eraseName( const char* key, EntityKeyValue& value ){
-       if ( m_namespace != 0 && m_keyIsName( key ) ) {
-               //globalOutputStream() << "erase " << key << "\n";
-               m_namespace->detach( KeyValueAssignCaller( value ), KeyValueDetachCaller( value ) );
-       }
-}
-void insertAll(){
-       for ( KeyValues::iterator i = m_keyValues.begin(); i != m_keyValues.end(); ++i )
-       {
-               insertName( ( *i ).first.c_str(), *( *i ).second );
-       }
-}
-void eraseAll(){
-       for ( KeyValues::iterator i = m_keyValues.begin(); i != m_keyValues.end(); ++i )
-       {
-               eraseName( ( *i ).first.c_str(), *( *i ).second );
-       }
-}
 public:
-NameKeys( EntityKeyValues& entity ) : m_namespace( 0 ), m_entity( entity ), m_keyIsName( Static<KeyIsName>::instance().m_keyIsName ){
-       m_entity.attach( *this );
-}
-~NameKeys(){
-       m_entity.detach( *this );
-}
-void setNamespace( Namespace& space ){
-       eraseAll();
-       m_namespace = &space;
-       insertAll();
-}
-void setKeyIsName( KeyIsNameFunc keyIsName ){
-       eraseAll();
-       m_keyIsName = keyIsName;
-       insertAll();
-}
-void insert( const char* key, EntityKeyValue& value ){
-       m_keyValues.insert( KeyValues::value_type( key, &value ) );
-       insertName( key, value );
-}
-void erase( const char* key, EntityKeyValue& value ){
-       eraseName( key, value );
-       m_keyValues.erase( key );
-}
+    NameKeys(EntityKeyValues &entity) : m_namespace(0), m_entity(entity),
+                                        m_keyIsName(Static<KeyIsName>::instance().m_keyIsName)
+    {
+        m_entity.attach(*this);
+    }
+
+    ~NameKeys()
+    {
+        m_entity.detach(*this);
+    }
+
+    void setNamespace(Namespace &space)
+    {
+        eraseAll();
+        m_namespace = &space;
+        insertAll();
+    }
+
+    void setKeyIsName(KeyIsNameFunc keyIsName)
+    {
+        eraseAll();
+        m_keyIsName = keyIsName;
+        insertAll();
+    }
+
+    void insert(const char *key, EntityKeyValue &value)
+    {
+        m_keyValues.insert(KeyValues::value_type(key, &value));
+        insertName(key, value);
+    }
+
+    void erase(const char *key, EntityKeyValue &value)
+    {
+        eraseName(key, value);
+        m_keyValues.erase(key);
+    }
 };
 
-inline bool keyIsNameDoom3( const char* key ){
-       return string_equal( key, "target" )
-                  || ( string_equal_n( key, "target", 6 ) && string_is_integer( key + 6 ) )
-                  || string_equal( key, "name" );
+inline bool keyIsNameDoom3(const char *key)
+{
+    return string_equal(key, "target")
+           || (string_equal_n(key, "target", 6) && string_is_integer(key + 6))
+           || string_equal(key, "name");
 }
 
-inline bool keyIsNameDoom3Doom3Group( const char* key ){
-       return keyIsNameDoom3( key )
-                  || string_equal( key, "model" );
+inline bool keyIsNameDoom3Doom3Group(const char *key)
+{
+    return keyIsNameDoom3(key)
+           || string_equal(key, "model");
 }
 
-inline bool keyIsNameQuake3( const char* key ){
-       return string_equal( key, "target" )
-                  || string_equal( key, "targetname" )
-                  || string_equal( key, "killtarget" )
-                  || ( string_equal_n( key, "target", 6 ) && string_is_integer( key + 6 ) ); // Nexuiz
+inline bool keyIsNameQuake3(const char *key)
+{
+    return string_equal(key, "target")
+           || string_equal(key, "targetname")
+           || string_equal(key, "killtarget")
+           || (string_equal_n(key, "target", 6) && string_is_integer(key + 6)); // Nexuiz
 }
 
 #endif