{"id":25416379,"url":"https://github.com/forderud/minicom","last_synced_at":"2025-10-31T09:30:38.570Z","repository":{"id":115293429,"uuid":"336795239","full_name":"forderud/MiniCOM","owner":"forderud","description":"Cross-platform minimal COM/ATL subset","archived":false,"fork":false,"pushed_at":"2024-12-31T13:36:12.000Z","size":161,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-12-31T14:37:05.930Z","etag":null,"topics":["com"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/forderud.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-02-07T13:36:35.000Z","updated_at":"2024-12-31T13:36:16.000Z","dependencies_parsed_at":"2024-04-07T07:28:49.132Z","dependency_job_id":"5b8e0908-6bc7-424f-b9b0-3e0493378f74","html_url":"https://github.com/forderud/MiniCOM","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forderud%2FMiniCOM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forderud%2FMiniCOM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forderud%2FMiniCOM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forderud%2FMiniCOM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/forderud","download_url":"https://codeload.github.com/forderud/MiniCOM/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239162792,"owners_count":19592343,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["com"],"created_at":"2025-02-16T16:54:52.246Z","updated_at":"2025-10-31T09:30:38.562Z","avatar_url":"https://github.com/forderud.png","language":"C++","readme":"Partial cross-platform implementation of the [Component Object Model (COM)](https://docs.microsoft.com/en-us/windows/win32/com/the-component-object-model) runtime and [Active Template Library (ATL)](https://docs.microsoft.com/en-us/cpp/atl/atl-com-desktop-components).\n\nDesigned as a **compatibility library to enable usage of existing COM/ATL classes also on non-Windows platforms**.\n\nDeveloped due to lack of knowledge of any better alternatives. Please contact the author if you're aware of any better alternative, and he'll be happy to scrap this project. I'm hoping that Microsoft [xlang](https://github.com/microsoft/xlang) or a similar project will eventually replace this project, but cross-platform support have so far been postponed.\n\n### Design goals\n* Support most COM classes implemented in ATL.\n* Support most automation-compatible types, so that the same COM classes can be directly accessed from C# and Python (using [comtypes](https://pythonhosted.org/comtypes/)) on Windows without any language wrappers or proxy/stub DLLs for marshaling.\n\n### Platform support\nThe following operating systems are currently supported:\n* Linux\n* MacOS\n* Android\n* iOS\n* WebAssembly with [Emscripten](https://emscripten.org/) compiler\n\nBoth the [gcc](https://gcc.gnu.org/) and [clang](https://clang.llvm.org/) compilers are supported.\n\nThere's no point in supporting Windows, since the same functionality is already inbuilt there.\n\n### Missing features\n* Complete COM or ATL support.\n* Wrapper-code-free access from C# and Python on non-Windows.\n* Out-of-process marshalling on non-Windows.\n\nContributions for addressing missing features are welcome.\n\n## Shared \u0026 weak references\nThe repo also contains a [`SharedRef`](SharedRef.hpp) wrapper class for non-owning weak references through a `IWeakRef` interface. This is similar to [`IWeakReference`](https://learn.microsoft.com/en-us/windows/win32/api/weakreference/nn-weakreference-iweakreference), but is also compatible with classical `IUnknown`-based COM.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fforderud%2Fminicom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fforderud%2Fminicom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fforderud%2Fminicom/lists"}