Program Listing for File ecal_core.h

Return to documentation for file (ecal/core/include/ecal/ecal_core.h)

/* ========================= eCAL LICENSE =================================
 *
 * Copyright (C) 2016 - 2019 Continental Corporation
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * ========================= eCAL LICENSE =================================
*/

#pragma once

#include <ecal/ecal_init.h>

#include <string>
#include <vector>
#include <utility>

namespace eCAL
{
  ECAL_API const char* GetVersionString();

  ECAL_API const char* GetVersionDateString();

  ECAL_API int GetVersion(int* major_, int* minor_, int* patch_);

  ECAL_API int Initialize(int argc_ = 0, char **argv_ = nullptr, const char *unit_name_ = nullptr, unsigned int components_ = Init::Default);

  ECAL_API int Initialize(std::vector<std::string> args_, const char *unit_name_ = nullptr, unsigned int components_ = Init::Default);

  ECAL_API int Finalize(unsigned int components_ = Init::Default);

  ECAL_API int IsInitialized(unsigned int component_ = 0);

  ECAL_API int SetUnitName(const char *unit_name_);

  ECAL_API bool Ok();
}

#ifdef ECAL_C_DLL

#include <ecal/ecalc.h>

namespace eCAL
{
  inline const char* GetVersionString()
  {
    return(eCAL_GetVersionString());
  }

  inline const char* GetVersionDateString()
  {
    return(eCAL_GetVersionDateString());
  }

  inline int GetVersion(int* major_, int* minor_, int* patch_)
  {
    return(eCAL_GetVersion(major_, minor_, patch_));
  }

  inline int Initialize(int argc_, char **argv_, const char *unit_name_, unsigned int components_)
  {
    return(eCAL_Initialize(argc_, argv_, unit_name_, components_));
  }

  inline int Finalize(unsigned int components_)
  {
    return(eCAL_Finalize(components_));
  }

  inline int IsInitialized(unsigned int component_)
  {
    return(eCAL_IsInitialized(component_));
  }

  inline int SetUnitName(const char *unit_name_)
  {
    return(eCAL_SetUnitName(unit_name_));
  }

  inline bool Ok()
  {
    return(eCAL_Ok() != 0);
  }
}

#endif /* ECAL_C_DLL */