Comments (6)
Will target for 0.17
from opencloudsaves.
Right now my concept for the API will be to expose a C interface that allow an invocation of the application using our option flags https://github.com/DavidDeSimone/OpenCloudSaves/blob/main/main.go#L14-L23
This will be our stable interface that will follow semver conventions. This way you can embed OpenCloudSave into your application without having to invoke from the command line.
Internally, I try to have the GUI basically "invoke" the command line by using calls to CLIMain, so in general the app internally uses those flags to drive behavior.
from opencloudsaves.
That would be perfect!
from opencloudsaves.
That would be perfect!
I couple of other issues I am thinking through:
- OpenCloudSave currently compiles and distributes a copy of rclone to perform the actual syncing. There are a couple of solutions I can think of for this:
a. Require users of opencloudsave.so to provide an rclone for usage
b. Try to bundle rclone into open cloud save (not sure of the difficulty here, it may be harder than I initially anticipate) - On windows, OpenCloudSave requires a WebView DLL and WebView2 to be installed by the end user. This is all currently handled by our MSI - these requirements would end up passed on to the users of opencloudsave.so
a. I don't know of another way around this - but I imagine it won't be a deal breaker for most applications, since they can just copy our install flow/distribution from how we build our MSI.
from opencloudsaves.
I think it's reasonable to require the integrator to bundle or make their package depend on rclone themselves if they're using the shared library. Maybe OpenCloudSave could also expose an interface to specify the path to rclone if the integrating application has rclone in a custom directory?
For OpenGamepadUI, since it's Linux-only, I was just planning on adding rclone as a dependency after integrating OpenCloudSave.
from opencloudsaves.
I think it's reasonable to require the integrator to bundle or make their package depend on rclone themselves if they're using the shared library. Maybe OpenCloudSave could also expose an interface to specify the path to rclone if the integrating application has rclone in a custom directory?
For OpenGamepadUI, since it's Linux-only, I was just planning on adding rclone as a dependency after integrating OpenCloudSave.
Yeah, this sounds reasonable to me - I like the idea of exposing a hook for a user to specify the path to the rclone they want to use. I might expose that in the GUI layer as well.
from opencloudsaves.
Related Issues (20)
- Contributors Guide
- [Feature request] Winget Support HOT 1
- Is there a way to clear up the Cloud storage on linux (Steamdeck)? HOT 3
- Missing Ryujinx save folder when searching for save folder HOT 2
- Different save folders used for Dark Souls II: Scholar of the First Sin on Google Drive for Windows and SteamOS HOT 1
- Flags appended incorrectly to command
- Failed to create file system
- dark souls 3 save file not found on steam deck
- Madden
- Flatpak runtime org.gnome.Platform branch 43 is end-of-life
- Windows path keep duplicating
- Indicator that shows if you are uploading or downloading? HOT 1
- Add save versioning
- Dark Souls III (And potentially any other game using a SteamID variable in the file path) HOT 1
- Initialize save dir with cloud content (for new installation) HOT 10
- can't find how to exclude files HOT 1
- Sync status in front of each games HOT 1
- CLI or Headless mode HOT 2
- Detect and Manage conflicts HOT 1
- Crowd Source distribution of save locations
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from opencloudsaves.