Skip to content

Commit f9b2afc

Browse files
sbSteveKxiazhvera
andauthored
Shared Library for Greengrass IPC (#620)
* regenerate code, not formatted * formatting * formatting * generated CMakeLists.txt * regenerated * initial formatting * formatting * generated export macro * change AWS_GREENGRASS_API to AWS_GREENGRASSIPC_API * ConnectionConfig needs to be a dll-interface class due to use by greengrassipc * declspec * add windows build shared libs job to ci * update compile definition name * declspec change * export operations, structures, and enums * revert back cmake file * test with service client model name * update event stream rpc export * remove export for status * keep enum private * rename preprocessor macro name * export enum value and remove sample test * remove enum export * remove forward decl --------- Co-authored-by: Zhihui Xia <[email protected]>
1 parent 1ddf4ab commit f9b2afc

File tree

8 files changed

+802
-526
lines changed

8 files changed

+802
-526
lines changed

.github/workflows/ci.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -309,6 +309,18 @@ jobs:
309309
cd ${{ env.CI_FOLDER }}
310310
echo "Starting to run AppVerifier with cycle pub-sub sample"
311311
python ${{ env.CI_UTILS_FOLDER }}/appverifier_launch_sample.py --sample_file ".\aws-iot-device-sdk-cpp-v2\build\samples\pub_sub\cycle_pub_sub\RelWithDebInfo\cycle-pub-sub.exe" --sample_secret_endpoint 'ci/endpoint' --sample_secret_certificate 'ci/CyclePubSub/cert' --sample_secret_private_key 'ci/CyclePubSub/key'
312+
windows-shared-lib:
313+
runs-on: windows-latest
314+
permissions:
315+
id-token: write # This is required for requesting the JWT
316+
steps:
317+
- name: Build ${{ env.PACKAGE_NAME }} + consumers
318+
run: |
319+
md ${{ env.CI_FOLDER }}
320+
cd ${{ env.CI_FOLDER }}
321+
python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz', 'builder.pyz')"
322+
python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON
323+
312324
osx:
313325
runs-on: macos-latest
314326
permissions:

eventstream_rpc/include/aws/eventstreamrpc/EventStreamClient.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ namespace Aws
146146
/**
147147
* Configuration structure holding all configurations relating to eventstream RPC connection establishment
148148
*/
149-
class ConnectionConfig
149+
class AWS_EVENTSTREAMRPC_API ConnectionConfig
150150
{
151151
public:
152152
ConnectionConfig() noexcept : m_clientBootstrap(nullptr), m_connectRequestCallback(nullptr) {}
@@ -215,7 +215,7 @@ namespace Aws
215215
EVENT_STREAM_RPC_CRT_ERROR
216216
};
217217

218-
struct RpcError
218+
struct AWS_EVENTSTREAMRPC_API RpcError
219219
{
220220
EventStreamRpcStatusCode baseStatus;
221221
int crtError;
@@ -256,7 +256,7 @@ namespace Aws
256256
};
257257

258258
/* User data passed to callbacks for a new stream. */
259-
class ContinuationCallbackData
259+
class AWS_EVENTSTREAMRPC_API ContinuationCallbackData
260260
{
261261
public:
262262
ContinuationCallbackData(

eventstream_rpc/tests/include/awstest/EchoTestRpcClient.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@ using namespace Aws::Eventstreamrpc;
1414

1515
namespace Awstest
1616
{
17-
class DefaultConnectionConfig : public ConnectionConfig
17+
class AWS_ECHOTESTRPC_API DefaultConnectionConfig : public ConnectionConfig
1818
{
1919
public:
2020
DefaultConnectionConfig() noexcept;
2121
};
2222

23-
class EchoTestRpcClient
23+
class AWS_ECHOTESTRPC_API EchoTestRpcClient
2424
{
2525
public:
2626
EchoTestRpcClient(

0 commit comments

Comments
 (0)