1
0
Commit Graph

83 Commits

Author SHA1 Message Date
a6322bff51 feat: finish exec runner 2026-05-09 20:07:08 +08:00
6804b96078 feat: add object pool for cdylib 2026-05-09 16:27:04 +08:00
d4b52efee0 feat: fix exec runner issue 2026-05-08 14:14:55 +08:00
ec5c78e8ce feat: finish highlevel 2026-05-08 14:08:51 +08:00
e325ba08f1 feat: finish highlevel register 2026-05-08 10:56:47 +08:00
03d17fad6e feat: finish highlevel unregister 2026-05-08 10:45:43 +08:00
8f762928db feat: finish highlevel register function 2026-05-08 10:41:33 +08:00
94f868ebda doc: add some doc in highlevel 2026-05-07 21:09:08 +08:00
2da84f8797 feat: finish highlevel convertion 2026-05-07 20:56:23 +08:00
fe81541eeb feat: update highlevel parse 2026-05-07 13:21:35 +08:00
3edb08efc7 feat: add func in lowlevel 2026-05-06 21:44:40 +08:00
edb9d0a14d feat: add some lowlevel functions 2026-05-06 21:39:13 +08:00
c6fa89f15f doc: add preface about goal of this lib 2026-04-30 21:56:02 +08:00
01302214c2 feat: rename some func name in lowlevel 2026-04-30 13:12:58 +08:00
e6ac59d85c feat: add shell verb struct 2026-04-30 13:09:59 +08:00
1df7191a36 fix: rename losse icon and string res into variant 2026-04-30 13:04:59 +08:00
66dc8c2630 fix: resotre highlevel program internal struct 2026-04-30 13:02:49 +08:00
6096265017 feat: add placeholder cmdline concept 2026-04-30 12:59:37 +08:00
5f9c893d95 feat: finish lowlevel application key decl 2026-04-30 10:16:52 +08:00
2fff56b74d feat: add losse StrRefStr and IconRefStr 2026-04-30 10:01:22 +08:00
94db3fdfd4 feat: introduce territory in lowlevel 2026-04-29 20:37:19 +08:00
10b27c0fc2 feat: add verb concept 2026-04-29 18:58:51 +08:00
e8ff9a3e4f feat: write some lowlevel code 2026-04-29 13:11:12 +08:00
6ff42928f1 feat: write some highlevel code 2026-04-23 13:17:25 +08:00
fed02ad9bc feat: update highlevel 2026-04-22 14:53:22 +08:00
fc2097560c feat: improve wfassoc-exec 2026-04-21 16:30:25 +08:00
3e588f0ac9 doc: update some doc 2026-04-19 16:10:04 +08:00
c650290df6 feat: finish manifest convertion 2026-04-17 15:43:39 +08:00
a7a9a71e80 feat: update wfassoc-exec 2026-04-17 15:24:22 +08:00
e9ca5dd5ec feat: make a clear boundary for lowlevel and highlevel API 2026-04-17 15:01:28 +08:00
d2bd4425df refactor: rename project name from underline to dash 2026-04-17 14:52:13 +08:00
1509723ada refactor: move something and implement FileName 2026-04-15 15:13:24 +08:00
69c7592f41 feat: remove useless win32 concept for clear code 2026-04-12 16:39:15 +08:00
6b7019e640 revoke: revoke the rename of ppic 2026-04-12 14:54:43 +08:00
d7359d41d4 feat: update manifest file 2026-04-03 16:11:51 +08:00
7d8757c0ec refactor: commit code which idk when i write them 2026-04-03 15:02:16 +08:00
796b2efb1c feat: write some cdylib code 2026-01-04 14:05:34 +08:00
27ab6721de feat: upgrade wfassoc_exec 2025-12-30 23:21:01 +08:00
7a03d38f68 feat: finish ppic.toml as the example 2025-12-25 20:13:12 +08:00
0b98610e1f doc: write some README but not finish 2025-12-17 22:34:49 +08:00
11c48b4aaf feat: update wfassoc dylib design 2025-11-26 22:40:17 +08:00
2741969164 refactor(assoc): improve error handling and type safety
- Remove unused `Infallible` import
- Add `ParseProgIdKindError` for better ProgId parsing error handling
- Implement `BlankProgId` variant for empty ProgId strings
- Add `ExtKey::new` and `ProgIdKey::new` constructors
- Add `as_inner` methods to `ExtKey` and `ProgIdKey`
- Replace `to_string()` calls with `as_inner().to_string()`
- Update error type from `BlankStringError` to `BlankPathError`
- Rename `BlankStringError` to `BlankPathError` with updated message
- Update `blank_path_guard` return type and error handling
- Remove `Display` and `FromStr` implementations from `ExtKey` and `ProgIdKey`
2025-11-01 16:11:22 +08:00
3694a6a82a feat(windows): add blank path guard for registry operations
- Add BlankStringError to handle empty registry paths
- Implement blank_path_guard function to prevent dangerous registry operations
- Apply blank path guard to extension and ProgId key operations
- Update error handling to include BlankPath error variant
2025-10-29 10:53:29 +08:00
a3456e9fdd feat(windows): implement registry manipulation for file associations
- Add comprehensive error types for registry operations
- Implement ProgIdKind enum with Display and FromStr traits
- Create ApplicationVisitor and ClassesVisitor structs
- Add ExtKey methods for linking, unlinking and querying ProgId
- Implement ProgIdKey creation and deletion in registry
- Add safe delete function to prevent accidental registry cleanup
- Introduce Display and FromStr implementations for ExtKey and ProgIdKey
- Organize registry access through scoped and viewed key opening
- Enable setting default "Open With" verbs for file extensions
- Support both user and system level registry modifications
2025-10-29 10:31:00 +08:00
3f1a070b65 refactor(wfassoc): restructure association module for registry operations
- Removed unused regex and uuid dependencies
- Replaced custom Ext and ProgId implementations with windows-specific types
- Added Scope and View enums for registry access control
- Introduced ExtKey and ProgIdKey structs for registry key handling
- Added error types for better error handling
- Implemented stub methods for registry operations
- Restructured module organization for better clarity
- Added utility functions for privilege checking
2025-10-28 14:10:28 +08:00
4d679588f8 feat(wfassoc): enhance CLSID handling and parsing
- Add `getrandom` dependency for UUID v4 feature
- Enable UUID v4 feature in `Cargo.toml`
- Implement `Clsid::with_random()` for generating random CLSIDs
- Improve `Clsid::new()` to accept `&Uuid` directly
- Update `Clsid::from_str()` to use `uuid::fmt::Braced` for stricter parsing
- Add comprehensive tests for valid and invalid CLSID strings
- Fix minor typo in test assertion code
- Enhance documentation comments for CLSID struct and error type
2025-10-28 12:50:15 +08:00
1342799303 feat(windows): implement file extension and ProgId parsing structs
- Add Ext struct for handling file extensions with validation
- Implement ProgId struct following Microsoft's suggested format
- Create Clsid struct for handling CLSID with UUID parsing
- Add ExpandString struct for environment variable expansion
- Include comprehensive tests for new structs and parsing logic
- Remove duplicate ExpandString implementation from windows.rs
- Organize code regions for better readability and maintenance
2025-10-28 11:12:13 +08:00
6be27def80 refactor(windows): update Windows API calls and error handling
- Replace `Default::default()` with `std::ptr::null_mut()` or `std::ptr::null()` for FFI calls
- Change `WideCStr::from_ptr` to `WideStr::from_ptr` for better safety
- Remove redundant error variants in `LoadStrRcError` and `ExpandEnvVarError`
- Reorder imports for better readability
- Add test cases for `StrRc` and `ExpandString` utilities
- Improve documentation comments for icon loading functions
2025-10-27 20:49:04 +08:00
81fd224236 feat(windows): implement icon and string resource loading
- Add IconRc struct for loading icons from executable or .ico files
- Implement LoadIconRcError for icon loading error handling
- Add StrRc struct for loading string resources from files
- Implement LoadStrRcError for string loading error handling
- Remove old Icon struct and related error types
- Update tests to use new resource loading implementations
- Add Windows Resource section with proper documentation
- Include Win32_System_LibraryLoader feature in Cargo.toml
2025-10-27 14:09:51 +08:00
cc79951ee6 refactor(windows): improve resource string parsing and documentation
- Rename structs to be more descriptive (IconRefStr, StrRefStr)
- Add comprehensive documentation for all public items
- Simplify error handling in FromStr implementations
- Add getter methods for path and index fields
2025-10-26 22:16:48 +08:00