Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset 8d6bcc8c in mainline


Ignore:
Timestamp:
2017-09-25T20:51:51Z (3 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
master
Children:
7b616e2
Parents:
11d9630
Message:

Move clipboard under location service.

Location:
uspace
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/generic/clipboard.c

    r11d9630 r8d6bcc8c  
    3838 */
    3939
     40#include <async.h>
    4041#include <clipboard.h>
    41 #include <ns.h>
     42#include <errno.h>
     43#include <fibril_synch.h>
     44#include <ipc/clipboard.h>
    4245#include <ipc/services.h>
    43 #include <ipc/clipboard.h>
    44 #include <fibril_synch.h>
    45 #include <async.h>
     46#include <loc.h>
     47#include <malloc.h>
    4648#include <str.h>
    47 #include <errno.h>
    48 #include <malloc.h>
    4949
    5050static FIBRIL_MUTEX_INITIALIZE(clip_mutex);
     
    5858static async_exch_t *clip_exchange_begin(void)
    5959{
     60        service_id_t sid;
     61        int rc;
     62       
    6063        fibril_mutex_lock(&clip_mutex);
    6164       
    62         while (clip_sess == NULL)
    63                 clip_sess = service_connect_blocking(SERVICE_CLIPBOARD,
    64                     INTERFACE_CLIPBOARD, 0);
     65        while (clip_sess == NULL) {
     66                rc = loc_service_get_id(SERVICE_NAME_CLIPBOARD, &sid,
     67                    IPC_FLAG_BLOCKING);
     68                if (rc != EOK)
     69                        continue;
     70               
     71                clip_sess = loc_service_connect(sid, INTERFACE_CLIPBOARD,
     72                    IPC_FLAG_BLOCKING);
     73        }
    6574       
    6675        fibril_mutex_unlock(&clip_mutex);
  • uspace/lib/c/include/ipc/services.h

    r11d9630 r8d6bcc8c  
    4848        SERVICE_DEVMAN     = FOURCC('d', 'e', 'v', 'n'),
    4949        SERVICE_IRC        = FOURCC('i', 'r', 'c', ' '),
    50         SERVICE_CLIPBOARD  = FOURCC('c', 'l', 'i', 'p'),
    5150} service_t;
    5251
     52#define SERVICE_NAME_CLIPBOARD "clipboard"
    5353#define SERVICE_NAME_CORECFG  "corecfg"
    5454#define SERVICE_NAME_DHCP     "net/dhcp"
  • uspace/srv/clipboard/clipboard.c

    r11d9630 r8d6bcc8c  
    2727 */
    2828
     29#include <async.h>
     30#include <errno.h>
     31#include <fibril_synch.h>
     32#include <ipc/services.h>
     33#include <ipc/clipboard.h>
     34#include <loc.h>
     35#include <malloc.h>
    2936#include <stdio.h>
    3037#include <stdbool.h>
    31 #include <async.h>
    32 #include <ns.h>
    33 #include <ipc/services.h>
    34 #include <ipc/clipboard.h>
    35 #include <malloc.h>
    36 #include <fibril_synch.h>
    37 #include <errno.h>
     38#include <task.h>
    3839
    3940#define NAME  "clipboard"
     
    4344static clipboard_tag_t clip_tag = CLIPBOARD_TAG_NONE;
    4445static FIBRIL_MUTEX_INITIALIZE(clip_mtx);
     46static service_id_t svc_id;
    4547
    4648static void clip_put_data(ipc_callid_t rid, ipc_call_t *request)
     
    179181int main(int argc, char *argv[])
    180182{
     183        int rc;
     184       
    181185        printf("%s: HelenOS clipboard service\n", NAME);
    182        
    183186        async_set_fallback_port_handler(clip_connection, NULL);
    184         int rc = service_register(SERVICE_CLIPBOARD);
    185         if (rc != EOK)
     187       
     188        rc = loc_server_register(NAME);
     189        if (rc != EOK) {
     190                printf("%s: Failed registering server. (%d)\n", NAME, rc);
    186191                return rc;
     192        }
     193       
     194        rc = loc_service_register(SERVICE_NAME_CLIPBOARD, &svc_id);
     195        if (rc != EOK) {
     196                printf("%s: Failed registering service. (%d)\n", NAME, rc);
     197                return rc;
     198        }
    187199       
    188200        printf("%s: Accepting connections\n", NAME);
Note: See TracChangeset for help on using the changeset viewer.