Skip to content

Commit

Permalink
iox-#1533 Deprecate old API
Browse files Browse the repository at this point in the history
  • Loading branch information
elBoberido committed Sep 6, 2023
1 parent 22b2625 commit 36b2635
Show file tree
Hide file tree
Showing 5 changed files with 78 additions and 27 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -40,29 +40,29 @@ class RouDiEnv
public:
RouDiEnv(const RouDiConfig_t& roudiConfig = RouDiConfig_t().setDefaults(),
roudi::MonitoringMode monitoringMode = roudi::MonitoringMode::OFF,
const uint16_t uniqueRouDiId = 0u);
virtual ~RouDiEnv();
const uint16_t uniqueRouDiId = 0u) noexcept;
virtual ~RouDiEnv() noexcept;

RouDiEnv(RouDiEnv&& rhs) = default;
RouDiEnv& operator=(RouDiEnv&& rhs) = default;
RouDiEnv(RouDiEnv&& rhs) noexcept = default;
RouDiEnv& operator=(RouDiEnv&& rhs) noexcept = default;

RouDiEnv(const RouDiEnv&) = delete;
RouDiEnv& operator=(const RouDiEnv&) = delete;

void setDiscoveryLoopWaitToFinishTimeout(const units::Duration timeout);
void triggerDiscoveryLoopAndWaitToFinish();
void setDiscoveryLoopWaitToFinishTimeout(const units::Duration timeout) noexcept;
void triggerDiscoveryLoopAndWaitToFinish() noexcept;

void cleanupAppResources(const RuntimeName_t& name);
void cleanupAppResources(const RuntimeName_t& name) noexcept;

protected:
/// @note this is due to ambiguity of the cTor with the default parameter
struct MainCTor
{
};
/// @brief for implementations on top of RouDiEnv
RouDiEnv(MainCTor, const uint16_t uniqueRouDiId = 0u);
RouDiEnv(MainCTor, const uint16_t uniqueRouDiId = 0u) noexcept;

void cleanupRuntimes();
void cleanupRuntimes() noexcept;

private:
RuntimeTestInterface m_runtimes;
Expand Down
14 changes: 7 additions & 7 deletions iceoryx_posh/roudi_env/source/roudi_env.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,14 @@ namespace iox
{
namespace roudi_env
{
RouDiEnv::RouDiEnv(MainCTor, const uint16_t uniqueRouDiId)
RouDiEnv::RouDiEnv(MainCTor, const uint16_t uniqueRouDiId) noexcept
{
popo::UniquePortId::rouDiEnvOverideUniqueRouDiId(uniqueRouDiId);
}

RouDiEnv::RouDiEnv(const RouDiConfig_t& roudiConfig,
const roudi::MonitoringMode monitoringMode,
const uint16_t uniqueRouDiId)
const uint16_t uniqueRouDiId) noexcept
: RouDiEnv(MainCTor{}, uniqueRouDiId)
{
m_roudiComponents = std::unique_ptr<roudi::IceOryxRouDiComponents>(new roudi::IceOryxRouDiComponents(roudiConfig));
Expand All @@ -44,7 +44,7 @@ RouDiEnv::RouDiEnv(const RouDiConfig_t& roudiConfig,
roudi::RouDi::RoudiStartupParameters{monitoringMode, false}));
}

RouDiEnv::~RouDiEnv()
RouDiEnv::~RouDiEnv() noexcept
{
if (m_runtimes.m_doCleanupOnDestruction)
{
Expand All @@ -53,22 +53,22 @@ RouDiEnv::~RouDiEnv()
cleanupRuntimes();
}

void RouDiEnv::setDiscoveryLoopWaitToFinishTimeout(const units::Duration timeout)
void RouDiEnv::setDiscoveryLoopWaitToFinishTimeout(const units::Duration timeout) noexcept
{
m_discoveryLoopWaitToFinishTimeout = timeout;
}

void RouDiEnv::triggerDiscoveryLoopAndWaitToFinish()
void RouDiEnv::triggerDiscoveryLoopAndWaitToFinish() noexcept
{
m_roudiApp->triggerDiscoveryLoopAndWaitToFinish(m_discoveryLoopWaitToFinishTimeout);
}

void RouDiEnv::cleanupAppResources(const RuntimeName_t& name)
void RouDiEnv::cleanupAppResources(const RuntimeName_t& name) noexcept
{
m_runtimes.eraseRuntime(name);
}

void RouDiEnv::cleanupRuntimes()
void RouDiEnv::cleanupRuntimes() noexcept
{
m_runtimes.cleanupRuntimes();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,24 +26,32 @@ namespace iox
{
namespace roudi
{
class RouDiEnvironment : public roudi_env::RouDiEnv
/// @deprecated Deprecated in 3.0, removed in 4.0, please port to 'iox::roudi_env::RouDiEnv'
class [[deprecated("Deprecated in 3.0, removed in 4.0, please port to 'iox::roudi_env::RouDiEnv'")]] RouDiEnvironment
: public roudi_env::RouDiEnv
{
public:
using ParentType = roudi_env::RouDiEnv;
using ParentType::ParentType;
using ParentType::operator=;

void SetInterOpWaitingTime(const std::chrono::milliseconds& v)
/// @deprecated Deprecated in 3.0, removed in 4.0, please port to 'setDiscoveryLoopWaitToFinishTimeout'
[[deprecated("Deprecated in 3.0, removed in 4.0, please port to 'setDiscoveryLoopWaitToFinishTimeout'")]] void
SetInterOpWaitingTime(const std::chrono::milliseconds& v) noexcept
{
setDiscoveryLoopWaitToFinishTimeout(units::Duration::fromMilliseconds(v.count()));
}

void InterOpWait()
/// @deprecated Deprecated in 3.0, removed in 4.0, please port to 'triggerDiscoveryLoopAndWaitToFinish'
[[deprecated("Deprecated in 3.0, removed in 4.0, please port to 'triggerDiscoveryLoopAndWaitToFinish'")]] void
InterOpWait() noexcept
{
triggerDiscoveryLoopAndWaitToFinish();
}

void CleanupAppResources(const RuntimeName_t& name)
/// @deprecated Deprecated in 3.0, removed in 4.0, please port to 'cleanupAppResources'
[[deprecated("Deprecated in 3.0, removed in 4.0, please port to 'cleanupAppResources'")]] void CleanupAppResources(
const RuntimeName_t& name) noexcept
{
cleanupAppResources(name);
}
Expand Down
30 changes: 25 additions & 5 deletions iceoryx_posh/testing/include/iceoryx_posh/testing/roudi_gtest.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,38 @@
#ifndef IOX_POSH_TESTUTILS_ROUDI_GTEST_HPP
#define IOX_POSH_TESTUTILS_ROUDI_GTEST_HPP

#include "iceoryx_posh/testing/roudi_environment/roudi_environment.hpp"
#include "iceoryx_posh/roudi_env/roudi_env.hpp"

#include <gmock/gmock.h>
#include <gtest/gtest.h>

using namespace ::testing;

class RouDi_GTest : public iox::roudi::RouDiEnvironment, public Test
namespace iox
{
namespace testing
{
class RouDi_GTest : public iox::roudi_env::RouDiEnv, public ::testing::Test
{
public:
RouDi_GTest() = default;
RouDi_GTest(const iox::RouDiConfig_t& roudiConfig);
RouDi_GTest(const iox::RouDiConfig_t& roudiConfig) noexcept;

/// @deprecated Deprecated in 3.0, removed in 4.0, please port to 'setDiscoveryLoopWaitToFinishTimeout'
[[deprecated("Deprecated in 3.0, removed in 4.0, please port to 'setDiscoveryLoopWaitToFinishTimeout'")]] void
SetInterOpWaitingTime(const std::chrono::milliseconds& v) noexcept;

/// @deprecated Deprecated in 3.0, removed in 4.0, please port to 'triggerDiscoveryLoopAndWaitToFinish'
[[deprecated("Deprecated in 3.0, removed in 4.0, please port to 'triggerDiscoveryLoopAndWaitToFinish'")]] void
InterOpWait() noexcept;

/// @deprecated Deprecated in 3.0, removed in 4.0, please port to 'cleanupAppResources'
[[deprecated("Deprecated in 3.0, removed in 4.0, please port to 'cleanupAppResources'")]] void
CleanupAppResources(const RuntimeName_t& name) noexcept;
};

} // namespace testing
} // namespace iox

/// @deprecated Deprecated in 3.0, removed in 4.0, please use 'RouDi_GTest' with the 'iox::testing' namespace
using RouDi_GTest = iox::testing::RouDi_GTest;

#endif // IOX_POSH_TESTUTILS_ROUDI_GTEST_HPP
27 changes: 25 additions & 2 deletions iceoryx_posh/testing/source/roudi_gtest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,30 @@

#include "iceoryx_posh/testing/roudi_gtest.hpp"

RouDi_GTest::RouDi_GTest(const iox::RouDiConfig_t& roudiConfig)
: iox::roudi::RouDiEnvironment(roudiConfig)
namespace iox
{
namespace testing
{

RouDi_GTest::RouDi_GTest(const iox::RouDiConfig_t& roudiConfig) noexcept
: iox::roudi_env::RouDiEnv(roudiConfig)
{
}

void RouDi_GTest::SetInterOpWaitingTime(const std::chrono::milliseconds& v) noexcept
{
setDiscoveryLoopWaitToFinishTimeout(units::Duration::fromMilliseconds(v.count()));
}

void RouDi_GTest::InterOpWait() noexcept
{
triggerDiscoveryLoopAndWaitToFinish();
}

void RouDi_GTest::CleanupAppResources(const RuntimeName_t& name) noexcept
{
cleanupAppResources(name);
}

} // namespace testing
} // namespace iox

0 comments on commit 36b2635

Please sign in to comment.