1873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood/*
2873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood * Copyright (C) 2010 The Android Open Source Project
3873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood *
4873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood * Licensed under the Apache License, Version 2.0 (the "License");
5873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood * you may not use this file except in compliance with the License.
6873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood * You may obtain a copy of the License at
7873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood *
8873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood *      http://www.apache.org/licenses/LICENSE-2.0
9873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood *
10873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood * Unless required by applicable law or agreed to in writing, software
11873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood * distributed under the License is distributed on an "AS IS" BASIS,
12873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood * See the License for the specific language governing permissions and
14873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood * limitations under the License.
15873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood */
16873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood
17873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood#ifndef _MTP_EVENT_PACKET_H
18873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood#define _MTP_EVENT_PACKET_H
19873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood
20873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood#include "MtpPacket.h"
21873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood#include "mtp.h"
22873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood
23873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwoodnamespace android {
24873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood
25873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwoodclass MtpEventPacket : public MtpPacket {
26873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood
27873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwoodpublic:
28873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood                        MtpEventPacket();
29873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood    virtual             ~MtpEventPacket();
30873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood
31873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood#ifdef MTP_DEVICE
32873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood    // write our data to the given file descriptor
33873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood    int                 write(int fd);
34873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood#endif
35873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood
36873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood#ifdef MTP_HOST
3742d0b79a787814d42e4c6f9dfe14f13cc0f6a758Mike Lockwood    // read our buffer with the given request
3842d0b79a787814d42e4c6f9dfe14f13cc0f6a758Mike Lockwood    int                 read(struct usb_request *request);
39873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood#endif
40873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood
41873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood    inline MtpEventCode     getEventCode() const { return getContainerCode(); }
42873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood    inline void             setEventCode(MtpEventCode code)
43873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood                                                     { return setContainerCode(code); }
44873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood};
45873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood
46873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood}; // namespace android
47873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood
48873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood#endif // _MTP_EVENT_PACKET_H
49