#
# Autogenerated by Thrift for thrift/compiler/test/fixtures/basic-annotations/src/module.thrift
#
# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
#  @generated
#

from cpython.ref cimport PyObject
from libc.stdint cimport (
    int8_t as cint8_t,
    int16_t as cint16_t,
    int32_t as cint32_t,
    int64_t as cint64_t,
)
from libcpp cimport bool as cbool
from libcpp.map cimport map as cmap, pair as cpair
from libcpp.memory cimport shared_ptr, unique_ptr
from libcpp.set cimport set as cset
from libcpp.string cimport string
from libcpp.vector cimport vector

from folly cimport cFollyFuture, cFollyTry, cFollyUnit
cimport folly.iobuf as _fbthrift_iobuf
from thrift.python.common cimport cRpcOptions
from thrift.py3.client cimport cClientWrapper

cimport module.types as _module_types
cimport module.cbindings as _module_cbindings


cdef extern from "thrift/compiler/test/fixtures/basic-annotations/gen-cpp2/module_clients.h" namespace "::cpp2":
  cdef cppclass cMyServiceAsyncClient "::cpp2::MyServiceAsyncClient":
      pass

cdef extern from "<utility>" namespace "std":
  cdef unique_ptr[cMyServiceClientWrapper] move(unique_ptr[cMyServiceClientWrapper])

cdef extern from "thrift/compiler/test/fixtures/basic-annotations/gen-cpp2/module_clients.h" namespace "::cpp2":
  cdef cppclass cMyServicePrioParentAsyncClient "::cpp2::MyServicePrioParentAsyncClient":
      pass

cdef extern from "<utility>" namespace "std":
  cdef unique_ptr[cMyServicePrioParentClientWrapper] move(unique_ptr[cMyServicePrioParentClientWrapper])

cdef extern from "thrift/compiler/test/fixtures/basic-annotations/gen-cpp2/module_clients.h" namespace "::cpp2":
  cdef cppclass cMyServicePrioChildAsyncClient "::cpp2::MyServicePrioChildAsyncClient":
      pass

cdef extern from "<utility>" namespace "std":
  cdef unique_ptr[cMyServicePrioChildClientWrapper] move(unique_ptr[cMyServicePrioChildClientWrapper])

cdef extern from "thrift/compiler/test/fixtures/basic-annotations/gen-cpp2/module_clients.h" namespace "::cpp2":
  cdef cppclass cBadServiceAsyncClient "::cpp2::GoodServiceAsyncClient":
      pass

cdef extern from "thrift/compiler/test/fixtures/basic-annotations/gen-cpp2/module_clients.h" namespace "::cpp2":
  cdef cppclass cBadServiceAsyncClient_BadInteraction "::cpp2::BadServiceAsyncClient::BadInteraction":
      pass

cdef extern from "<utility>" namespace "std":
  cdef unique_ptr[cBadServiceClientWrapper] move(unique_ptr[cBadServiceClientWrapper])

cdef extern from "thrift/compiler/test/fixtures/basic-annotations/gen-cpp2/module_clients.h" namespace "::cpp2":
  cdef cppclass cFooBarBazServiceAsyncClient "::cpp2::FooBarBazServiceAsyncClient":
      pass

cdef extern from "<utility>" namespace "std":
  cdef unique_ptr[cFooBarBazServiceClientWrapper] move(unique_ptr[cFooBarBazServiceClientWrapper])

cdef extern from "thrift/lib/cpp/TProcessorEventHandler.h" namespace "::apache::thrift":
  cdef cppclass cTProcessorEventHandler "apache::thrift::TProcessorEventHandler":
    pass

cdef extern from "thrift/compiler/test/fixtures/basic-annotations/gen-py3/module/clients_wrapper.h" namespace "::cpp2":
  cdef cppclass cMyServiceClientWrapper "::cpp2::MyServiceClientWrapper":
    void setPersistentHeader(const string& key, const string& value)
    void addEventHandler(const shared_ptr[cTProcessorEventHandler]& handler)

    cFollyFuture[cFollyUnit] ping(cRpcOptions, )
    cFollyFuture[string] getRandomData(cRpcOptions, )
    cFollyFuture[cbool] hasDataById(cRpcOptions, 
      cint64_t arg_id,)
    cFollyFuture[string] getDataById(cRpcOptions, 
      cint64_t arg_id,)
    cFollyFuture[cFollyUnit] putDataById(cRpcOptions, 
      cint64_t arg_id,
      string arg_data,)
    cFollyFuture[cFollyUnit] lobDataById(cRpcOptions, 
      cint64_t arg_id,
      string arg_data,)
    cFollyFuture[cFollyUnit] cppDoNothing(cRpcOptions, )


  cdef cppclass cMyServicePrioParentClientWrapper "::cpp2::MyServicePrioParentClientWrapper":
    void setPersistentHeader(const string& key, const string& value)
    void addEventHandler(const shared_ptr[cTProcessorEventHandler]& handler)

    cFollyFuture[cFollyUnit] ping(cRpcOptions, )
    cFollyFuture[cFollyUnit] pong(cRpcOptions, )


  cdef cppclass cMyServicePrioChildClientWrapper "::cpp2::MyServicePrioChildClientWrapper"(cMyServicePrioParentClientWrapper):

    cFollyFuture[cFollyUnit] pang(cRpcOptions, )


  cdef cppclass cBadServiceClientWrapper "::cpp2::BadServiceClientWrapper":
    void setPersistentHeader(const string& key, const string& value)
    void addEventHandler(const shared_ptr[cTProcessorEventHandler]& handler)

    cFollyFuture[cint32_t] bar(cRpcOptions, )
    cFollyFuture[unique_ptr[cClientWrapper]]& createBadInteraction()

  cdef cppclass cBadServiceClientWrapper_BadInteractionInteractionWrapper "::cpp2::BadServiceClientWrapper::BadInteractionInteractionWrapper"(cClientWrapper):
    void setPersistentHeader(const string& key, const string& value)
    void addEventHandler(const shared_ptr[cTProcessorEventHandler]& handler)

    cFollyFuture[cFollyUnit] foo(cRpcOptions, )


  cdef cppclass cFooBarBazServiceClientWrapper "::cpp2::FooBarBazServiceClientWrapper":
    void setPersistentHeader(const string& key, const string& value)
    void addEventHandler(const shared_ptr[cTProcessorEventHandler]& handler)

    cFollyFuture[cFollyUnit] foo(cRpcOptions, )
    cFollyFuture[cFollyUnit] bar(cRpcOptions, )
    cFollyFuture[cFollyUnit] baz(cRpcOptions, )

