Draft public sdk api for wsla#13827
Conversation
| set(SOURCES wsla.cpp) | ||
| set(HEADERS wsla.h) | ||
|
|
||
| add_library(wslasdk SHARED ${SOURCES} ${HEADERS} wslasdk.def) |
There was a problem hiding this comment.
I was originally of having the methods inside the wslaclient target, since it's essentially going to be the same thing conceptually.
I don't mind renaming it though, but if we do that let's delete the old target
|
|
||
| // Container Process | ||
|
|
||
| STDAPI WslaCreateContainerProcess(_In_ WslaRuntimeContainer container, _In_ const WSLA_CONTAINER_PROCESS_OPTIONS* options, _Out_ WSLA_CONTAINER_PROCESS* process); |
There was a problem hiding this comment.
We might want to follow the COM logic a bit closer to make the integration easier.
Something like:
WslaGetContainerInitProcess(WslaRuntimeContainer container, WSLA_CONTAINER_PROCESS* process);
might be easier to implement
There was a problem hiding this comment.
This one was the "nerdctl exec". I think you mean splitting CreateNewContainer into 2 methods? That works for me too.
There was a problem hiding this comment.
I am a bit confused by your comment too @OneBlue. I think the API above would map to WSLAContainerImpl::Exec in the backend.
I was also thinking we may not need something like GetContainerInitProcess in the public-facing API at all...?
| typedef struct WSLA_CONTAINER_IMAGE_INFO | ||
| { | ||
| PCSTR repository; | ||
| PCSTR tag; |
There was a problem hiding this comment.
Maybe just the imageName and use char[]
| WslaCreateSession | ||
| WslaReleaseSession | ||
| WslaPullContainerImage | ||
| WslaImportContainerImage |
There was a problem hiding this comment.
Does this WslaImportContainerImage here correspond to LoadImage? Load and Import are a bit different.
| WslaStopContainer | ||
| WslaDeleteContainer | ||
| WslaRestartContainer | ||
| WslaGetContainerState |
Summary of the Pull Request
PR Checklist
Detailed Description of the Pull Request / Additional comments
Validation Steps Performed