| 1944 | //----------------------------------------------------------------------------- |
| 1945 | |
| 1946 | void SimObject::setSuperClassNamespace( const char *superClassNamespace ) |
| 1947 | { |
| 1948 | StringTableEntry oldSuperClassNamespace = mSuperClassName; |
| 1949 | StringTableEntry newSuperClassNamespace = StringTable->insert( superClassNamespace ); |
| 1950 | |
| 1951 | if( oldSuperClassNamespace == newSuperClassNamespace ) |
| 1952 | return; |
| 1953 | |
| 1954 | if( isProperlyAdded() ) |
| 1955 | unlinkNamespaces(); |
| 1956 | |
| 1957 | mSuperClassName = newSuperClassNamespace; |
| 1958 | |
| 1959 | if( isProperlyAdded() ) |
| 1960 | { |
| 1961 | linkNamespaces(); |
| 1962 | |
| 1963 | // Restore old setup if linkage failed. |
| 1964 | |
| 1965 | if( mSuperClassName != newSuperClassNamespace ) |
| 1966 | { |
| 1967 | mSuperClassName = oldSuperClassNamespace; |
| 1968 | linkNamespaces(); |
| 1969 | } |
| 1970 | } |
| 1971 | } |
| 1972 | |
| 1973 | //============================================================================= |
| 1974 | // Misc. |
no test coverage detected