1be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood/* 2be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood * Copyright (C) 2010 The Android Open Source Project 3be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood * 4be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood * Licensed under the Apache License, Version 2.0 (the "License"); 5be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood * you may not use this file except in compliance with the License. 6be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood * You may obtain a copy of the License at 7be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood * 8be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood * http://www.apache.org/licenses/LICENSE-2.0 9be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood * 10be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood * Unless required by applicable law or agreed to in writing, software 11be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood * distributed under the License is distributed on an "AS IS" BASIS, 12be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood * See the License for the specific language governing permissions and 14be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood * limitations under the License. 15be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood */ 16be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood 17be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood#ifndef _MTP_EVENT_PACKET_H 18be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood#define _MTP_EVENT_PACKET_H 19be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood 20be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood#include "MtpPacket.h" 21be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood#include "mtp.h" 22be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood 23be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwoodnamespace android { 24be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood 25be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwoodclass MtpEventPacket : public MtpPacket { 26be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood 27be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwoodpublic: 28be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood MtpEventPacket(); 29be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood virtual ~MtpEventPacket(); 30be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood 31be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood#ifdef MTP_DEVICE 32be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood // write our data to the given file descriptor 33be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood int write(int fd); 34be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood#endif 35be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood 36be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood#ifdef MTP_HOST 37215b682b8a02ac51d820b8e301d50431bdd09b3dMike Lockwood // read our buffer with the given request 38215b682b8a02ac51d820b8e301d50431bdd09b3dMike Lockwood int read(struct usb_request *request); 39be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood#endif 40be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood 41be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood inline MtpEventCode getEventCode() const { return getContainerCode(); } 42be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood inline void setEventCode(MtpEventCode code) 43be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood { return setContainerCode(code); } 44be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood}; 45be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood 46be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood}; // namespace android 47be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood 48be125a50b41f15810145671e0fcbdaf13b363e03Mike Lockwood#endif // _MTP_EVENT_PACKET_H 49