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 388a7ffae09a019de7109b30c505561c453910bde1Daichi Hirono int sendRequest(struct usb_request *request); 398a7ffae09a019de7109b30c505561c453910bde1Daichi Hirono int readResponse(struct usb_device *device); 40873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood#endif 41873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood 42873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood inline MtpEventCode getEventCode() const { return getContainerCode(); } 43873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood inline void setEventCode(MtpEventCode code) 44873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood { return setContainerCode(code); } 45873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood}; 46873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood 47873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood}; // namespace android 48873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood 49873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood#endif // _MTP_EVENT_PACKET_H 50