/* * Copyright 2010-2017, Haiku, Inc. All Rights Reserved. * Copyright 2008-2009, Pier Luigi Fiorini. All Rights Reserved. * Copyright 2004-2008, Michael Davidson. All Rights Reserved. * Copyright 2004-2007, Mikael Eiman. All Rights Reserved. * Distributed under the terms of the MIT License. */ #ifndef _APP_USAGE_H #define _APP_USAGE_H #include #include #include #include #include #include class BMessage; class AppUsage : public BFlattenable { public: AppUsage(); AppUsage(const char* name, const char* signature, bool allow = true); virtual bool AllowsTypeCode(type_code code) const; virtual status_t Flatten(void* buffer, ssize_t numBytes) const; virtual ssize_t FlattenedSize() const; virtual bool IsFixedSize() const; virtual type_code TypeCode() const; virtual status_t Unflatten(type_code code, const void* buffer, ssize_t numBytes); const char* AppName(); const char* Signature(); bool Allowed(); void SetAllowed(bool allow); private: BString fAppName; BString fSignature; bool fAllow; }; #endif // _APP_USAGE_H