CDRS First edition.

This commit is contained in:
sdk-team
2020-12-23 07:55:12 +00:00
parent 5bde791941
commit 46971a81db
20 changed files with 1293 additions and 2 deletions

View File

@@ -22,6 +22,10 @@
#include <alibabacloud/core/EndpointProvider.h>
#include <alibabacloud/core/RpcServiceClient.h>
#include "CDRSExport.h"
#include "model/BindDeviceRequest.h"
#include "model/BindDeviceResult.h"
#include "model/CreateProjectRequest.h"
#include "model/CreateProjectResult.h"
#include "model/ListCityMapAoisRequest.h"
#include "model/ListCityMapAoisResult.h"
#include "model/ListCityMapCameraResultsRequest.h"
@@ -78,6 +82,10 @@
#include "model/RecognizeImageResult.h"
#include "model/SearchObjectRequest.h"
#include "model/SearchObjectResult.h"
#include "model/UnbindDeviceRequest.h"
#include "model/UnbindDeviceResult.h"
#include "model/UpdateProjectRequest.h"
#include "model/UpdateProjectResult.h"
namespace AlibabaCloud
@@ -87,6 +95,12 @@ namespace AlibabaCloud
class ALIBABACLOUD_CDRS_EXPORT CDRSClient : public RpcServiceClient
{
public:
typedef Outcome<Error, Model::BindDeviceResult> BindDeviceOutcome;
typedef std::future<BindDeviceOutcome> BindDeviceOutcomeCallable;
typedef std::function<void(const CDRSClient*, const Model::BindDeviceRequest&, const BindDeviceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BindDeviceAsyncHandler;
typedef Outcome<Error, Model::CreateProjectResult> CreateProjectOutcome;
typedef std::future<CreateProjectOutcome> CreateProjectOutcomeCallable;
typedef std::function<void(const CDRSClient*, const Model::CreateProjectRequest&, const CreateProjectOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateProjectAsyncHandler;
typedef Outcome<Error, Model::ListCityMapAoisResult> ListCityMapAoisOutcome;
typedef std::future<ListCityMapAoisOutcome> ListCityMapAoisOutcomeCallable;
typedef std::function<void(const CDRSClient*, const Model::ListCityMapAoisRequest&, const ListCityMapAoisOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListCityMapAoisAsyncHandler;
@@ -171,11 +185,23 @@ namespace AlibabaCloud
typedef Outcome<Error, Model::SearchObjectResult> SearchObjectOutcome;
typedef std::future<SearchObjectOutcome> SearchObjectOutcomeCallable;
typedef std::function<void(const CDRSClient*, const Model::SearchObjectRequest&, const SearchObjectOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SearchObjectAsyncHandler;
typedef Outcome<Error, Model::UnbindDeviceResult> UnbindDeviceOutcome;
typedef std::future<UnbindDeviceOutcome> UnbindDeviceOutcomeCallable;
typedef std::function<void(const CDRSClient*, const Model::UnbindDeviceRequest&, const UnbindDeviceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UnbindDeviceAsyncHandler;
typedef Outcome<Error, Model::UpdateProjectResult> UpdateProjectOutcome;
typedef std::future<UpdateProjectOutcome> UpdateProjectOutcomeCallable;
typedef std::function<void(const CDRSClient*, const Model::UpdateProjectRequest&, const UpdateProjectOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateProjectAsyncHandler;
CDRSClient(const Credentials &credentials, const ClientConfiguration &configuration);
CDRSClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
CDRSClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
~CDRSClient();
BindDeviceOutcome bindDevice(const Model::BindDeviceRequest &request)const;
void bindDeviceAsync(const Model::BindDeviceRequest& request, const BindDeviceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
BindDeviceOutcomeCallable bindDeviceCallable(const Model::BindDeviceRequest& request) const;
CreateProjectOutcome createProject(const Model::CreateProjectRequest &request)const;
void createProjectAsync(const Model::CreateProjectRequest& request, const CreateProjectAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
CreateProjectOutcomeCallable createProjectCallable(const Model::CreateProjectRequest& request) const;
ListCityMapAoisOutcome listCityMapAois(const Model::ListCityMapAoisRequest &request)const;
void listCityMapAoisAsync(const Model::ListCityMapAoisRequest& request, const ListCityMapAoisAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
ListCityMapAoisOutcomeCallable listCityMapAoisCallable(const Model::ListCityMapAoisRequest& request) const;
@@ -260,6 +286,12 @@ namespace AlibabaCloud
SearchObjectOutcome searchObject(const Model::SearchObjectRequest &request)const;
void searchObjectAsync(const Model::SearchObjectRequest& request, const SearchObjectAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
SearchObjectOutcomeCallable searchObjectCallable(const Model::SearchObjectRequest& request) const;
UnbindDeviceOutcome unbindDevice(const Model::UnbindDeviceRequest &request)const;
void unbindDeviceAsync(const Model::UnbindDeviceRequest& request, const UnbindDeviceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
UnbindDeviceOutcomeCallable unbindDeviceCallable(const Model::UnbindDeviceRequest& request) const;
UpdateProjectOutcome updateProject(const Model::UpdateProjectRequest &request)const;
void updateProjectAsync(const Model::UpdateProjectRequest& request, const UpdateProjectAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
UpdateProjectOutcomeCallable updateProjectCallable(const Model::UpdateProjectRequest& request) const;
private:
std::shared_ptr<EndpointProvider> endpointProvider_;

View File

@@ -0,0 +1,63 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* 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.
*/
#ifndef ALIBABACLOUD_CDRS_MODEL_BINDDEVICEREQUEST_H_
#define ALIBABACLOUD_CDRS_MODEL_BINDDEVICEREQUEST_H_
#include <string>
#include <vector>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <alibabacloud/cdrs/CDRSExport.h>
namespace AlibabaCloud
{
namespace CDRS
{
namespace Model
{
class ALIBABACLOUD_CDRS_EXPORT BindDeviceRequest : public RpcServiceRequest
{
public:
struct Devices
{
std::string corpId;
std::string deviceId;
};
public:
BindDeviceRequest();
~BindDeviceRequest();
std::string getCorpId()const;
void setCorpId(const std::string& corpId);
std::vector<Devices> getDevices()const;
void setDevices(const std::vector<Devices>& devices);
std::string getAppName()const;
void setAppName(const std::string& appName);
std::string get_NameSpace()const;
void set_NameSpace(const std::string& _nameSpace);
private:
std::string corpId_;
std::vector<Devices> devices_;
std::string appName_;
std::string _nameSpace_;
};
}
}
}
#endif // !ALIBABACLOUD_CDRS_MODEL_BINDDEVICEREQUEST_H_

View File

@@ -0,0 +1,62 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* 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.
*/
#ifndef ALIBABACLOUD_CDRS_MODEL_BINDDEVICERESULT_H_
#define ALIBABACLOUD_CDRS_MODEL_BINDDEVICERESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/cdrs/CDRSExport.h>
namespace AlibabaCloud
{
namespace CDRS
{
namespace Model
{
class ALIBABACLOUD_CDRS_EXPORT BindDeviceResult : public ServiceResult
{
public:
struct Datas
{
std::string message;
std::string deviceId;
std::string code;
bool success;
};
BindDeviceResult();
explicit BindDeviceResult(const std::string &payload);
~BindDeviceResult();
std::string getMessage()const;
std::vector<Datas> getData()const;
std::string getCode()const;
protected:
void parse(const std::string &payload);
private:
std::string message_;
std::vector<Datas> data_;
std::string code_;
};
}
}
}
#endif // !ALIBABACLOUD_CDRS_MODEL_BINDDEVICERESULT_H_

View File

@@ -0,0 +1,63 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* 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.
*/
#ifndef ALIBABACLOUD_CDRS_MODEL_CREATEPROJECTREQUEST_H_
#define ALIBABACLOUD_CDRS_MODEL_CREATEPROJECTREQUEST_H_
#include <string>
#include <vector>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <alibabacloud/cdrs/CDRSExport.h>
namespace AlibabaCloud
{
namespace CDRS
{
namespace Model
{
class ALIBABACLOUD_CDRS_EXPORT CreateProjectRequest : public RpcServiceRequest
{
public:
CreateProjectRequest();
~CreateProjectRequest();
std::string getClientToken()const;
void setClientToken(const std::string& clientToken);
std::string getIcon()const;
void setIcon(const std::string& icon);
std::string getDescription()const;
void setDescription(const std::string& description);
std::string getAppName()const;
void setAppName(const std::string& appName);
std::string get_NameSpace()const;
void set_NameSpace(const std::string& _nameSpace);
std::string getName()const;
void setName(const std::string& name);
private:
std::string clientToken_;
std::string icon_;
std::string description_;
std::string appName_;
std::string _nameSpace_;
std::string name_;
};
}
}
}
#endif // !ALIBABACLOUD_CDRS_MODEL_CREATEPROJECTREQUEST_H_

View File

@@ -0,0 +1,55 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* 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.
*/
#ifndef ALIBABACLOUD_CDRS_MODEL_CREATEPROJECTRESULT_H_
#define ALIBABACLOUD_CDRS_MODEL_CREATEPROJECTRESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/cdrs/CDRSExport.h>
namespace AlibabaCloud
{
namespace CDRS
{
namespace Model
{
class ALIBABACLOUD_CDRS_EXPORT CreateProjectResult : public ServiceResult
{
public:
CreateProjectResult();
explicit CreateProjectResult(const std::string &payload);
~CreateProjectResult();
std::string getCorpId()const;
std::string getMessage()const;
std::string getCode()const;
protected:
void parse(const std::string &payload);
private:
std::string corpId_;
std::string message_;
std::string code_;
};
}
}
}
#endif // !ALIBABACLOUD_CDRS_MODEL_CREATEPROJECTRESULT_H_

View File

@@ -0,0 +1,57 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* 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.
*/
#ifndef ALIBABACLOUD_CDRS_MODEL_UNBINDDEVICEREQUEST_H_
#define ALIBABACLOUD_CDRS_MODEL_UNBINDDEVICEREQUEST_H_
#include <string>
#include <vector>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <alibabacloud/cdrs/CDRSExport.h>
namespace AlibabaCloud
{
namespace CDRS
{
namespace Model
{
class ALIBABACLOUD_CDRS_EXPORT UnbindDeviceRequest : public RpcServiceRequest
{
public:
UnbindDeviceRequest();
~UnbindDeviceRequest();
std::string getDeviceIds()const;
void setDeviceIds(const std::string& deviceIds);
std::string getCorpId()const;
void setCorpId(const std::string& corpId);
std::string getAppName()const;
void setAppName(const std::string& appName);
std::string get_NameSpace()const;
void set_NameSpace(const std::string& _nameSpace);
private:
std::string deviceIds_;
std::string corpId_;
std::string appName_;
std::string _nameSpace_;
};
}
}
}
#endif // !ALIBABACLOUD_CDRS_MODEL_UNBINDDEVICEREQUEST_H_

View File

@@ -0,0 +1,62 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* 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.
*/
#ifndef ALIBABACLOUD_CDRS_MODEL_UNBINDDEVICERESULT_H_
#define ALIBABACLOUD_CDRS_MODEL_UNBINDDEVICERESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/cdrs/CDRSExport.h>
namespace AlibabaCloud
{
namespace CDRS
{
namespace Model
{
class ALIBABACLOUD_CDRS_EXPORT UnbindDeviceResult : public ServiceResult
{
public:
struct Datas
{
std::string message;
std::string deviceId;
std::string code;
bool success;
};
UnbindDeviceResult();
explicit UnbindDeviceResult(const std::string &payload);
~UnbindDeviceResult();
std::string getMessage()const;
std::vector<Datas> getData()const;
std::string getCode()const;
protected:
void parse(const std::string &payload);
private:
std::string message_;
std::vector<Datas> data_;
std::string code_;
};
}
}
}
#endif // !ALIBABACLOUD_CDRS_MODEL_UNBINDDEVICERESULT_H_

View File

@@ -0,0 +1,63 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* 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.
*/
#ifndef ALIBABACLOUD_CDRS_MODEL_UPDATEPROJECTREQUEST_H_
#define ALIBABACLOUD_CDRS_MODEL_UPDATEPROJECTREQUEST_H_
#include <string>
#include <vector>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <alibabacloud/cdrs/CDRSExport.h>
namespace AlibabaCloud
{
namespace CDRS
{
namespace Model
{
class ALIBABACLOUD_CDRS_EXPORT UpdateProjectRequest : public RpcServiceRequest
{
public:
UpdateProjectRequest();
~UpdateProjectRequest();
std::string getCorpId()const;
void setCorpId(const std::string& corpId);
std::string getIcon()const;
void setIcon(const std::string& icon);
std::string getDescription()const;
void setDescription(const std::string& description);
std::string getAppName()const;
void setAppName(const std::string& appName);
std::string get_NameSpace()const;
void set_NameSpace(const std::string& _nameSpace);
std::string getName()const;
void setName(const std::string& name);
private:
std::string corpId_;
std::string icon_;
std::string description_;
std::string appName_;
std::string _nameSpace_;
std::string name_;
};
}
}
}
#endif // !ALIBABACLOUD_CDRS_MODEL_UPDATEPROJECTREQUEST_H_

View File

@@ -0,0 +1,53 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* 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.
*/
#ifndef ALIBABACLOUD_CDRS_MODEL_UPDATEPROJECTRESULT_H_
#define ALIBABACLOUD_CDRS_MODEL_UPDATEPROJECTRESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/cdrs/CDRSExport.h>
namespace AlibabaCloud
{
namespace CDRS
{
namespace Model
{
class ALIBABACLOUD_CDRS_EXPORT UpdateProjectResult : public ServiceResult
{
public:
UpdateProjectResult();
explicit UpdateProjectResult(const std::string &payload);
~UpdateProjectResult();
std::string getMessage()const;
std::string getCode()const;
protected:
void parse(const std::string &payload);
private:
std::string message_;
std::string code_;
};
}
}
}
#endif // !ALIBABACLOUD_CDRS_MODEL_UPDATEPROJECTRESULT_H_