Skip to content

Commit

Permalink
#5231: Minor refactoring in the Namespace classes
Browse files Browse the repository at this point in the history
  • Loading branch information
codereader committed May 3, 2020
1 parent 18f5ff4 commit b856e1e
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 32 deletions.
13 changes: 6 additions & 7 deletions include/inamespace.h
@@ -1,5 +1,4 @@
#ifndef _INAMESPACE_H__
#define _INAMESPACE_H__
#pragma once

#include "inode.h"
#include "imodule.h"
Expand Down Expand Up @@ -146,7 +145,8 @@ class Namespaced
};
typedef std::shared_ptr<Namespaced> NamespacedPtr;

inline NamespacedPtr Node_getNamespaced(scene::INodePtr node) {
inline NamespacedPtr Node_getNamespaced(scene::INodePtr node)
{
return std::dynamic_pointer_cast<Namespaced>(node);
}

Expand All @@ -163,10 +163,11 @@ class INamespaceFactory :
virtual INamespacePtr createNamespace() = 0;
};

const std::string MODULE_NAMESPACE_FACTORY("NamespaceFactory");
const char* const MODULE_NAMESPACE_FACTORY("NamespaceFactory");

// Factory accessor
inline INamespaceFactory& GlobalNamespaceFactory() {
inline INamespaceFactory& GlobalNamespaceFactory()
{
// Cache the reference locally
static INamespaceFactory& _namespaceFactory(
*std::static_pointer_cast<INamespaceFactory>(
Expand All @@ -175,5 +176,3 @@ inline INamespaceFactory& GlobalNamespaceFactory() {
);
return _namespaceFactory;
}

#endif /* _INAMESPACE_H__ */
25 changes: 12 additions & 13 deletions radiantcore/map/namespace/Namespace.h
Expand Up @@ -6,8 +6,8 @@
#include "iscenegraph.h"
#include "UniqueNameSet.h"

/// Implementing class for the INamespace module
class Namespace : public INamespace
class Namespace :
public INamespace
{
// The set of unique names in this namespace
UniqueNameSet _uniqueNames;
Expand All @@ -20,15 +20,14 @@ class Namespace : public INamespace
virtual ~Namespace();

// INamespace implementation
virtual void connect(const scene::INodePtr& root);
virtual void disconnect(const scene::INodePtr& root);
virtual bool nameExists(const std::string& name);
virtual bool insert(const std::string& name);
virtual bool erase(const std::string& name);
virtual std::string addUniqueName(const std::string& originalName);
virtual void addNameObserver(const std::string& name, NameObserver& observer);
virtual void removeNameObserver(const std::string& name, NameObserver& observer);
virtual void nameChanged(const std::string& oldName, const std::string& newName);
virtual void ensureNoConflicts(const scene::INodePtr& root);
virtual void connect(const scene::INodePtr& root) override;
virtual void disconnect(const scene::INodePtr& root) override;
virtual bool nameExists(const std::string& name) override;
virtual bool insert(const std::string& name) override;
virtual bool erase(const std::string& name) override;
virtual std::string addUniqueName(const std::string& originalName) override;
virtual void addNameObserver(const std::string& name, NameObserver& observer) override;
virtual void removeNameObserver(const std::string& name, NameObserver& observer) override;
virtual void nameChanged(const std::string& oldName, const std::string& newName) override;
virtual void ensureNoConflicts(const scene::INodePtr& root) override;
};
typedef std::shared_ptr<Namespace> NamespacePtr;
14 changes: 9 additions & 5 deletions radiantcore/map/namespace/NamespaceFactory.cpp
Expand Up @@ -4,23 +4,27 @@
#include "Namespace.h"
#include "module/StaticModule.h"

INamespacePtr NamespaceFactory::createNamespace() {
return NamespacePtr(new Namespace);
INamespacePtr NamespaceFactory::createNamespace()
{
return std::make_shared<Namespace>();
}

// RegisterableModule implementation
const std::string& NamespaceFactory::getName() const {
const std::string& NamespaceFactory::getName() const
{
static std::string _name(MODULE_NAMESPACE_FACTORY);
return _name;
}

const StringSet& NamespaceFactory::getDependencies() const {
const StringSet& NamespaceFactory::getDependencies() const
{
static StringSet _dependencies;
// no dependencies
return _dependencies;
}

void NamespaceFactory::initialiseModule(const ApplicationContext& ctx) {
void NamespaceFactory::initialiseModule(const ApplicationContext& ctx)
{
rMessage() << getName() << "::initialiseModule called.\n";
}

Expand Down
12 changes: 5 additions & 7 deletions radiantcore/map/namespace/NamespaceFactory.h
@@ -1,5 +1,4 @@
#ifndef _NAMESPACE_FACTORY_H__
#define _NAMESPACE_FACTORY_H__
#pragma once

#include "inamespace.h"

Expand All @@ -10,12 +9,11 @@ class NamespaceFactory :
/**
* Creates and returns a new Namespace.
*/
virtual INamespacePtr createNamespace();
virtual INamespacePtr createNamespace() override;

// RegisterableModule implementation
virtual const std::string& getName() const;
virtual const StringSet& getDependencies() const;
virtual void initialiseModule(const ApplicationContext& ctx);
virtual const std::string& getName() const override;
virtual const StringSet& getDependencies() const override;
virtual void initialiseModule(const ApplicationContext& ctx) override;
};

#endif /* _NAMESPACE_FACTORY_H__ */

0 comments on commit b856e1e

Please sign in to comment.