Blame opae-libs/pyopae/pytoken.cpp

Packit 534379
// Copyright(c) 2018, Intel Corporation
Packit 534379
//
Packit 534379
// Redistribution  and  use  in source  and  binary  forms,  with  or  without
Packit 534379
// modification, are permitted provided that the following conditions are met:
Packit 534379
//
Packit 534379
// * Redistributions of  source code  must retain the  above copyright notice,
Packit 534379
//   this list of conditions and the following disclaimer.
Packit 534379
// * Redistributions in binary form must reproduce the above copyright notice,
Packit 534379
//   this list of conditions and the following disclaimer in the documentation
Packit 534379
//   and/or other materials provided with the distribution.
Packit 534379
// * Neither the name  of Intel Corporation  nor the names of its contributors
Packit 534379
//   may be used to  endorse or promote  products derived  from this  software
Packit 534379
//   without specific prior written permission.
Packit 534379
//
Packit 534379
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTOR."AS ."
Packit 534379
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,  BUT NOT LIMITED TO,  THE
Packit 534379
// IMPLIED WARRANTIES OF  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
Packit 534379
// ARE DISCLAIMED.  IN NO EVENT  SHALL THE COPYRIGHT OWNER  OR CONTRIBUTORS BE
Packit 534379
// LIABLE  FOR  ANY  DIRECT,  INDIRECT,  INCIDENTAL,  SPECIAL,  EXEMPLARY,  OR
Packit 534379
// CONSEQUENTIAL  DAMAGES  (INCLUDING,  BUT  NOT LIMITED  TO,  PROCUREMENT  OF
Packit 534379
// SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE,  DATA, OR PROFITS;  OR BUSINESS
Packit 534379
// INTERRUPTION)  HOWEVER CAUSED  AND ON ANY THEORY  OF LIABILITY,  WHETHER IN
Packit 534379
// CONTRACT,  STRICT LIABILITY,  OR TORT  (INCLUDING NEGLIGENCE  OR OTHERWISE)
Packit 534379
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,  EVEN IF ADVISED OF THE
Packit 534379
// POSSIBILITY OF SUCH DAMAGE.
Packit 534379
Packit 534379
#include "pytoken.h"
Packit 534379
Packit 534379
#include "pyproperties.h"
Packit 534379
Packit 534379
namespace py = pybind11;
Packit 534379
using opae::fpga::types::token;
Packit 534379
Packit 534379
const char *token_doc() {
Packit 534379
  return R"opaedoc(
Packit 534379
    Token for referencing an OPAE resource.
Packit 534379
Packit 534379
    A token object serves as a reference so a specific resource in the system.
Packit 534379
    Holding a token does not constitute ownership of an OPAE resource.
Packit 534379
    It is used to query information about a resource,
Packit 534379
    or to acquire ownership by calling fpga.open module method.
Packit 534379
  )opaedoc";
Packit 534379
}
Packit 534379
Packit 534379
const char *token_doc_enumerate() {
Packit 534379
  return R"opaedoc(
Packit 534379
    Get a list of tokens for the given search criteria.
Packit 534379
Packit 534379
    Args:
Packit 534379
Packit 534379
      props(list): A list of properties objects that define the search criteria.
Packit 534379
                   All OPAE properties in each properties object make up one filter.
Packit 534379
                   All properties objects are combined in a union.
Packit 534379
  )opaedoc";
Packit 534379
}
Packit 534379
Packit 534379
const char *token_doc_enumerate_kwargs() {
Packit 534379
  return R"opaedoc(
Packit 534379
    Get a list of tokens from zero or one filters as defined by kwargs.
Packit 534379
    If kwargs is empty, then no filter is used.
Packit 534379
    If kwargs is not empty, then one properties object is created using the kwargs.
Packit 534379
  )opaedoc";
Packit 534379
}
Packit 534379
Packit 534379
std::vector<token::ptr_t> token_enumerate_kwargs(py::kwargs kwargs) {
Packit 534379
  return token::enumerate({properties_get(kwargs)});
Packit 534379
};