{"id":25932677,"url":"https://github.com/socketmobile/singleentry-windowsmobile","last_synced_at":"2026-06-07T17:32:38.491Z","repository":{"id":115907782,"uuid":"43028299","full_name":"SocketMobile/singleentry-windowsmobile","owner":"SocketMobile","description":"Sample code for ScanAPI SDK Windows Mobile (Visual Studio 2008)","archived":false,"fork":false,"pushed_at":"2015-09-23T21:34:06.000Z","size":108,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-04-18T09:45:26.023Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SocketMobile.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}},"created_at":"2015-09-23T21:33:17.000Z","updated_at":"2016-01-07T16:00:52.000Z","dependencies_parsed_at":"2023-03-11T10:46:00.650Z","dependency_job_id":null,"html_url":"https://github.com/SocketMobile/singleentry-windowsmobile","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/SocketMobile%2Fsingleentry-windowsmobile","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SocketMobile%2Fsingleentry-windowsmobile/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SocketMobile%2Fsingleentry-windowsmobile/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SocketMobile%2Fsingleentry-windowsmobile/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SocketMobile","download_url":"https://codeload.github.com/SocketMobile/singleentry-windowsmobile/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241763763,"owners_count":20016161,"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":[],"created_at":"2025-03-04T00:38:45.913Z","updated_at":"2025-03-04T00:38:46.534Z","avatar_url":"https://github.com/SocketMobile.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"#SingleEntry for Windows Mobile\n\nThis simple app demonstrates the usage of ScanAPI SDK for a Windows\nMobile application.\n\n##Prerequisites\nThis project is compiled using Visual Studio 2008.\n\nThe Nuget Command Line utility is required for installing the ScanAPI\nNuGet. This utility can be found at http://docs.nuget.org/consume/installing-nuget\nand select Command-Line Utility.\n\nThe ScanAPI SDK is a private NuGet that needs to be downloaded from Socket \nMobile.\nCheck the Socket Mobile store: \nhttp://socketstore.com/collections/sdks-support-options-developer-tools\n\n##Installation\n\nTo install the NuGet, in order to have the sample working out of the box, the \nScanAPI Nuget should be installed by following these steps:\n\n1. Copy the SocketMobile.ScanAPI.10.2.xxx.x.nupkg somewhere reacheable by the\ndevelopment machine\n\n2. Add a NuGet source to the location where the \nSocketMobile.ScanAPI.10.2.xxx.x.nupkg is located. The command line for \naccomplishing this could be:\n```\nnuget sources add -Name \"ScanAPI SDK\" -Source \"C:\\Users\\\u003cusername\u003e\\Documents\\ScanAPI-Downloads\"\n```\n\n3. Install the NuGet where this sample code is. If you have cloned this sample \ncode under your Documents folder then in that directory type the following \ncommand:\n```\nnuget install -OutputDirectory packages SocketMobile.ScanAPI\n```\n\nThis creates a packages directory in the Documents folder that contains the\nScanAPI NuGet.\n\nSo the Documents directory output should be something like:\n```\n\\Documents\n    \\ScanAPI-Downloads\n\t\tSocketMobile.ScanAPI.10.2.xxx.x.nupkg\n\t\\singleentry-windowsmobile\n\t\t... \n\t\\packages\n\t\t\\SocketMobile.ScanAPI.10.2.xxx.x\n```\n\nSingleEntry has a link to ScanApiHelper.cs that is located in the NuGet content\nfolder.\n\n##Note\nWhen running the application the ScanApiManagedWM.DLL and the ScanAPIWM.DLL must\nbe copied at the same location than the exe.\n\n## Documentation\nCheck the ScanAPI online documentation for further information.\nThis documentation can be reached from Socket Mobile Developer portal at:\n http://www.socketmobile.com/developers/welcome\n \n## ScanAPI Configuration\nScanAPI requires at least one Bluetooth INBOUND port in order to open without \nerror.\n\nThis ScanAPI configuration can be set by using the kSktScanPropIdConfiguration \nwith the string value set as follow: \"SerialPorts=COM3:\" by example.\n\nTo retrieve the current configuration, a Get kSktScanPropIdConfiguration \nproperty with a string value set to \"SerialPorts\" will return the COM port \nScanAPI is actually trying to listen to.\n\nThis configuration is stored on the disk to a shared location like by example on\na Windows 7 host: \\ProgramData\\Socket Mobile\\ScanAPI\\ScanAPI.xml.\n\nIt is not recommended to modify this ScanAPI.xml file directly as its format can\nchange or this file can be replaced in different version. The best for modifying\nthis configuration is to use the ScanAPI API.\n\n## ScanAPI Usage\nThis SingleEntry sample app is using ScanApiHelper which simplifies the ScanAPI\nintegration in an app.\n\nScanApiHelper is actually a data member of the SingleEntry Form object. In the \nconstructor of the Form, the ScanApiHelper instance is allocated.\nThe Form actually derives from the ScanApiHelperNotification interface in order\nto implement the various notifications coming from ScanAPI.\nOnce ScanApiHelper instance is created the ScanApiHelper SetNotification is \ncalled with this Form reference as argument.\n\nUpon the Form Load, ScanApiHelper is open and a ScanAPI consumer timer is set.\nEach time this timer elapses, its handler calls ScanApiHelper DoScanAPIReceive \nin order to receive any notification from ScanAPI.\n\nThen most of the implementation is done in the notification handlers. \nThe first notification received is OnScanApiInitializeComplete. This indicates \nthe first open has successfully initialized ScanAPI. The Bluetooth INBOUND port\nhas be open correctly and ScanAPI is listening to it.\n\nIf a scanner is connecting to this host, then the OnDeviceArrival notification \nis invoked.\n\nIf the scanner decodes successfully a barcode, the OnDecodedData notification is \ninvoked with the decoded data as argument.\n\nIf the scanner disconnects from the host then the app receives the \nOnDeviceRemoval notification.\n\nScanApiHelper provides few PostSetxxx and PostGetxxx methods to send a request \nto get the friendly name, the Bluetooth address of the device, or to get and set \nthe barcode symbologies by example.\n\nEach of these PostSetxxx / PostGetxxx accepts a callback as argument that is \ninvoked upon completion of the request.\n\nThe close process is a 2-step process: first call the ScanApiHelper close method\nand then wait for the OnScanApiTerminated notification, which can then close the\nform.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsocketmobile%2Fsingleentry-windowsmobile","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsocketmobile%2Fsingleentry-windowsmobile","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsocketmobile%2Fsingleentry-windowsmobile/lists"}