📄 mq.h
字号:
/* * Copyright (C) 2007 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *//** * IPC messaging library. */#ifndef __MQ_H#define __MQ_H#ifdef __cplusplusextern "C" {#endif/** A message. */typedef struct MqMessage MqMessage;/** A destination to which messages can be sent. */typedef struct MqDestination MqDestination;/* Array of bytes. */typedef struct MqBytes MqBytes;/** * Hears messages. * * @param destination to which the message was sent * @param message the message to hear */typedef void MqMessageListener(MqDestination* destination, MqMessage* message);/** * Hears a destination close. * * @param destination that closed */typedef void MqCloseListener(MqDestination* destination);/** Message functions. *//** * Creates a new Message. * * @param header as defined by user * @param body as defined by user * @param replyTo destination to which replies should be sent, NULL if none */MqMessage* mqCreateMessage(MqBytes header, MqBytes body, MqDestination* replyTo);/** Sends a message to a destination. */void mqSendMessage(MqMessage* message, MqDestination* destination);/** Destination functions. *//** * Creates a new destination. Acquires a reference implicitly. * * @param messageListener function to call when a message is recieved * @param closeListener function to call when the destination closes * @param userData user-specific data to associate with the destination. * Retrieve using mqGetDestinationUserData(). */MqDestination* mqCreateDestination(MqMessageListener* messageListener, MqCloseListener* closeListener, void* userData);/** * Gets user data which was associated with the given destination at * construction time. * * It is only valid to call this function in the same process that the * given destination was created in. * This function returns a null pointer if you call it on a destination * created in a remote process. */void* mqGetUserData(MqDestination* destination);/** * Returns 1 if the destination was created in this process, or 0 if * the destination was created in a different process, in which case you have * a remote stub. */int mqIsDestinationLocal(MqDestination* destination);/** * Increments the destination's reference count. */void mqKeepDestination(MqDesintation* destination);/** * Decrements the destination's reference count. */void mqFreeDestination(MqDestination* desintation);/** Registry API. *//** * Gets the destination bound to a name. */MqDestination* mqGetDestination(char* name);/** * Binds a destination to a name. */void mqPutDestination(char* name, MqDestination* desintation);#ifdef __cplusplus}#endif#endif /* __MQ_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -